处理例外的最佳方法是什么? 另外,我为什么不写:
catch (Exception ex) { throw ex; }
答案 0 :(得分:3)
处理异常的最佳方法是在catch
块(在您的示例中包含throw ex
)中执行一些有意义的操作。 “有意义”的定义完全取决于您的需求。
你不应该catch (Exception ex) { throw ex; }
,因为它会制动异常链。捕获异常,处理它并重新抛出以便调用代码可以看到它是完全正常的,但你应该这样做:
catch (Exception ex) { /* handling code; */ throw; }
答案 1 :(得分:1)
为什么你会抓住异常再次抛出它,如果你要捕获异常并做一些事情而不仅仅抛出它,那就没关系了!
try
{
}
catch(Exception ex)
{
// do something like log the exception
throw ex; // let another catch block handle the expection.
}