【问题标题】:How to not break when user handled exception is thrown in visual studio 2019在 Visual Studio 2019 中引发用户处理的异常时如何不中断
【发布时间】:2020-09-02 18:09:30
【问题描述】:
Microsoft Visual Studio Enterprise 2019
Version 16.5.5
VisualStudio.16.Release/16.5.5+30104.148
Microsoft .NET Framework
Version 4.8.03752

当发生以下异常时,我不希望 Visual Studio 在调试模式下中断。我通过try catch处理过的那些。但是,即使我进行了广泛的互联网搜索,我也找不到方法

项目详情:asp.net 网络表单、.net 4.8 框架

【问题讨论】:

  • 实际上,这将阻止停止调试过程。而且当你在应用程序中设置断点时,异常依然会发生。所以你不用担心这个。如果我的回答能帮助您解决这个问题,please consider accepting it。如果没有,请随时告诉我们。
  • 到目前为止我看到的关于这个问题的答案可能对一些人有帮助,但对我没有帮助。我调用了一个经常抛出空引用异常的函数,我没有任何替代这个函数的方法。如果我取消选中空引用异常的中断,那么我也不再看到任何其他相同类型的异常。这当然不是我想要的。我只希望调试器不要停止在这一特定功能中。

标签: visual-studio debugging exception visual-studio-2019


【解决方案1】:

当用户处理的异常在视觉中抛出时如何不中断 工作室 2019

首先,感谢 Jazimov 的精彩建议。

其实,要在 Debug 模式下停止破坏特定异常(System.NullReferenceException),你应该试试 Jazimpv 的建议。

调试-->Windows-->异常设置-->通用语言运行时异常

取消选中System.Null.ReferenceException

此功能只是防止异常中断调试,但不会阻止异常的发生。 虽然不会出现在代码编辑器中,但也会被输出窗口捕捉到。

但是,你无法在不中断调试模式的情况下直接在代码编辑器中得到最直接的异常。

为了得到更详细的异常信息,你可以这样写在输出窗口上显示:

  try
  {

     .........          
  }
  catch(Exception ex) 
  {
          Debug.WriteLine("=============================");
          Debug.WriteLine(ex.Message);
          Debug.WriteLine(ex.Source);
          Debug.WriteLine(ex.StackTrace);
          Debug.WriteLine("=============================");          
  }

【讨论】:

    【解决方案2】:

    我遇到了类似的问题,在这里找到了解决方法:Tell the debugger to continue on user-unhandled exceptions

    基本上,在 Common Language Runtime Exceptions 行的 Exception Settings > Addition Actions 列中,我右键单击并选择了“在用户代码中未处理时继续”。从那以后我就没看到它坏了。

    【讨论】:

      【解决方案3】:

      您应该能够取消选中“抛出此异常类型时中断”旁边的复选框,并且该特定异常(在抛出时)不应再导致 Visual Studio 中断。选中此复选框通常不会防止异常:您正在防止调试器在抛出这种特定类型的异常时中断。请注意,您还可以通过选中您引用的对话框中“抛出时除外”标题下的复选框来限制调试器是否因特定程序集的特定异常而中断。

      要查看调试器抛出了哪些异常,请转到 Visual Studio 的调试 |窗户 | Exception Settings 菜单并展开 Common Language Runtime Exceptions 分支:

      【讨论】:

      • 这样可以防止显示未处理的异常,我不正确吗?
      • 不,当对话框中显示的特定异常发生时,它可以防止调试器中断。请参阅我修改后的答案,其中包含更多详细信息。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-09-12
      • 1970-01-01
      • 2013-06-02
      • 1970-01-01
      • 2019-10-06
      • 2018-04-01
      相关资源
      最近更新 更多