最佳答案
有一些帖子问这两者之间已经有什么区别了。
(为什么我必须提到这个…)
但我的问题在某种程度上是不同的,我在另一个错误神一般的处理方法中调用“throw ex”。
public class Program {
public static void Main(string[] args) {
try {
// something
} catch (Exception ex) {
HandleException(ex);
}
}
private static void HandleException(Exception ex) {
if (ex is ThreadAbortException) {
// ignore then,
return;
}
if (ex is ArgumentOutOfRangeException) {
// Log then,
throw ex;
}
if (ex is InvalidOperationException) {
// Show message then,
throw ex;
}
// and so on.
}
}
如果try & catch
在Main
中使用,那么我将使用throw;
重新抛出错误。
但在上面的简单代码中,所有异常都经过HandleException
throw ex;
是否与在HandleException
中调用throw
具有相同的效果?