【问题标题】:general sql exception logging通用 sql 异常日志记录
【发布时间】:2013-08-09 13:13:02
【问题描述】:

我有一个类,它处理与 sql 相关的所有事情,称为 sql helper。 现在我想要实现的是,捕获来自这个特定类的所有异常并记录它们。因为这个类是从几个地方调用的并且已经有超过 25-30 个方法。我发现每一个方法都写异常处理很乏味。

这是 windows 应用程序有没有更好的方法来处理这个问题。 例如我们在 asp.net 中的方式

Application_Error()
 {

 }

【问题讨论】:

  • 为什么不简单地让方法重新抛出异常并让调用者捕获它?
  • 您也可以查看处理AppDomain.UnhandledException Event,但我可能会重新抛出异常并让调用者捕获它。

标签: c# winforms exception-handling


【解决方案1】:

用途:

AppDomain currentDomain = AppDomain.CurrentDomain;
currentDomain.UnhandledException += new UnhandledExceptionEventHandler(MyExceptionHandler);

http://msdn.microsoft.com/es-es/library/system.appdomain.unhandledexception.aspx

【讨论】:

  • 一个潜在的缺点是这将捕获每个未处理的异常,而不仅仅是 SQL Helper 的异常。
【解决方案2】:

Application.ThreadException 将允许您在不终止应用程序的情况下捕获未处理的异常。

AppDomain.UnhandledException 将在方法退出时终止应用程序。

【讨论】:

    猜你喜欢
    • 2011-10-23
    • 2011-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-02
    • 1970-01-01
    相关资源
    最近更新 更多