c# - 有没有办法确定 try/catch 覆盖率的差距?

标签 c# windows-services exception

我正在调试在启动时遇到一些问题的服务。为了帮助我解决这个问题,我将几乎所有内容都包装在一个 try/catch block 中,并将任何错误写入文件。我不想将它们放在每个方法中,我只想将它们放在最高级别的方法中,以便它们捕获其他方法的异常。

不过,由于服务在某些情况下会停止,所以有些事情正在解决。有没有办法确定我的 try/catch 覆盖率中的差距在哪里,而不是通过视觉?

最佳答案

您可以像这样捕获 AppDomain 级别的异常:

AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);

void CurrentDomain_UnhandledException(Object sender, UnhandledExceptionEventArgs e)
{

    //Object exception = e.ExceptionObject;
    //Boolean terminating = e.IsTerminating;
}

你可以看看这个 link更多示例。

关于c# - 有没有办法确定 try/catch 覆盖率的差距?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2455827/

相关文章:

c# - 既不使用 + 也不使用 StringBuilder 从变量构建字符串

python - 在 Django 中抛出自定义异常时异常值字段为空

python - __exit__() (上下文管理器)中的 exc_value 参数是字符串而不是异常(Python 2.6)

c# - 为什么目录上的 File.Delete() 会产生 UnauthorizedAccessException?

c# - 如何将 Identity Server 与 .NET Core 2.1 一起使用?

c# - 耐用功能与遥测无关

c# - 子网掩码的正则表达式?

c# - sc.exe如何设置对windows服务的描述?

c# - 使用 Windows 服务的 .NET http 网络请求

c# - 没有调用 Windows 服务 OnStart 的原因可能是什么?