异常处理-正确的处理方法是什么

本文关键字:处理 方法 是什么 异常处理 | 更新日期: 2023-09-27 18:29:17

我使用异常处理已经有一段时间了,并且安装了Resharper,现在收到了各种消息,说我应该也应该这样做。不管怎样,它说我不应该在代码周围使用try-and-catch块。那么,我应该把它们放在哪里来捕捉异常呢?我见过有人在寻找某些异常,比如找不到文件,但其他所有唯一的错误或异常呢?

以下是它抱怨的一些异常处理的例子:

try
{
    var rnd = new Random();
    var buffer = new byte[sizeof(UInt64)];
    rnd.NextBytes(buffer);
}
catch (Exception)
{
    throw;
}

有没有人链接到异常处理的最佳实践,这会让re更敏锐?

异常处理-正确的处理方法是什么

只捕获那些您可以处理的异常,比如插入重复的主键,这样您就可以向用户显示输入不同值的消息。

对于其他例外,让它们出现在您的库中,并在一个地方处理它们。类似ASP.Net 中的Application_Error事件

正如其他人已经指出的,只有当您真正计划对catch块内的异常执行某些操作时,才使用try/catch-这样做时请记住,实际上无法保证catch块会真正执行(例如电源故障)。

请参阅当我问一个非常类似的问题时给我的解释:何时使用try/catch

如果您只想诊断/记录异常,而不想对其执行任何特定操作,则可以使用全局异常处理程序,即AppDomain.UnhandledException,这样可以集中处理。