C# · 12月 28, 2021

在C#中,我如何知道要捕获哪些异常?

我习惯使用一般的catch语句,我以一般方式处理这些异常.这是不好的做法吗如果是这样,我该如何知道哪些具体的例外可能被抛出,哪些是我抓到的?解决方法 >是的,除了几个非常具体的情况,这是不好的做法.一个常见的情况我可以想到捕获所有异常的地方不是一个糟糕的想法是当您在应用程序即将自动关闭之前记录消息或堆栈跟踪(或者,您可能正在记录和重新抛出). 只抓住你知道可以处理的例外.不多不少.如果你不知道一个异常可以抛出一个方法,你不会正确处理它,所以不要抓住它.方法和库负责记录您应该能够处理的异常.另外,不要捕获指示逻辑失败的异常,例如NullReferenceException和ArgumentException.这些表示您应该修复的软件中的真正错误,而不是您在运行时应该处理的错误.