【发布时间】:2015-09-11 22:26:21
【问题描述】:
我正在将我为 Java 编写的库移植到 .NET C#,并且我正在处理两个世界之间异常处理方面的差异。
特别是我有一个abstract 类,我用它作为基类来实现几个服务。在这个类中,我有这些方法:
public void MyConcreteMethod(){
//...
try {
initialize();
} catch(InitializationException ex){
// ...
}
// ...
}
public abstract void initialize() throws InitializationException;
每个扩展类都必须以自己的方式实现initialize,我清楚地知道我需要处理一些可能的InitializationException。
在 C# 中,我像这样转换了我的代码:
public void MyConcreteMethod(){
//...
Initialize();
// ...
}
public abstract void Initialize();
但是这样我就没有关于可能的初始化问题的明确信息:在某些类中我可以抛出异常,而在其他类中我不能。
那么我应该在MyConcreteMethod 中处理它们吗?我抓住了哪个例外?一个通用的Exception?
【问题讨论】:
-
我认为这是你的答案:stackoverflow.com/questions/3465465/… 如果你想记录它,那么这个:stackoverflow.com/questions/5726680/…
标签: java c# exception exception-handling