异常处理和(抛出)

时间:2010-10-21 10:22:29

标签: exception-handling

处理例外的最佳方法是什么? 另外,我为什么不写:

catch (Exception ex) { throw ex; }

2 个答案:

答案 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.
}