【问题标题】:Catch Exception only in release仅在发布时捕获异常
【发布时间】:2010-05-28 23:39:55
【问题描述】:

您好,对于来自应用程序的所有未处理异常,我有一个全局通用异常处理程序(将 ex 作为异常捕获)。 但是在调试模式下(应用程序从 VS 运行)我不希望异常进入这个全局处理程序。 对我来说更好的是当发生异常时 VS 停止应用程序。

我该怎么做,或者有更好的方法吗?

谢谢

【问题讨论】:

    标签: vb.net exception exception-handling


    【解决方案1】:

    终于找到了解决办法:

        Try
        ......
    #If DEBUG Then
        Catch ex As Exception When False
    #Else
        Catch ex As Exception 
    #End If
        ......
        End Try
    

    ps:感谢 JYelton 的提示。

    编辑:简化解决方案

    【讨论】:

      【解决方案2】:

      你可以使用preprocessor directive(这个例子是C#):

      #if DEBUG
      // omit exception handling (or use a different one)
      #else
      // exception handling event subscriber here
      #endif
      

      【讨论】:

      • 好主意,但我不想这样做:#if DEBUG ...大量代码...#else try ...大量代码...将 ex 捕获为异常end try #endif ,因为重复代码。还有其他方法吗?
      • 您可以在#if DEBUG 中设置一些变量,并使用它来进一步区分在调试模式下做什么(或不做什么)。听起来您想根据此注释在多个地方以不同方式处理异常,而不仅仅是全局处理程序。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多