了解库抛出和处理它们的异常

时间:2011-12-05 15:54:29

标签: c#

我在我的应用程序中使用了第三方库,我不知道它们可以抛出什么异常,显然从调试和使用中我可以解决其中一些但不是全部。

那么,有没有办法知道在没有文档的情况下可以抛出什么异常?

如果做不到这一点,我知道我可以catch (Exception)尽管大多数指南建议不要这样做,但是如果我没有抓住它们,它们会冒泡到最顶层的异常处理程序吗?是否有任何理由不能以这种方式处理它们?

1 个答案:

答案 0 :(得分:4)

如果没有第三方库的文档,就无法确切知道会抛出什么异常。

您的代码中的任何未捕获的异常(如您所述)都会冒泡到顶级处理程序。我不建议全面捕捉所有异常(除非它是顶级记录器或类似的东西)。您应该只处理可以从中恢复的异常。