我将我的Visual Studio异常设置设置为在引发“公共语言运行时异常”时中断。
我有许多例程可以捕获异常,处理异常并继续。在调试程序时,我相信这些异常已得到正确处理,并且不希望调试器在这些异常上停止。
如何防止调试器停止处理异常? (注意,我想打破所有其他CLR例外)
我认为DebuggerStepThrough可以解决问题。但是事实并非如此。以下代码停止在“ Method1();”上
using System;
namespace ConsoleApp8
{
class Program
{
static void Main(string[] args)
{
Method1();
}
[System.Diagnostics.DebuggerStepThrough]
static void Method1()
{
try
{
throw new InvalidOperationException();
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
}
}
}
-编辑- 柯克-我只在特殊情况下抛出异常。我使用Visual Studio Tools for Office。该MS库通常会引发可以处理和忽略的异常。
我想处理另一个库引发的某些异常,但是可以防止VS2017调试器在发生这些错误时停止运行。
要清楚,这些异常通常是COM异常。我不希望调试器忽略所有COM异常。我只希望调试器忽略我捕获和处理的COM异常。
这可能吗?
答案 0 :(得分:0)
调试器可能在引发异常时中断执行,因此您可以在调用处理程序之前检查异常。在“例外设置”窗口(“调试”>“ Windows”>“例外设置”)中,展开该节点以获取一类例外,例如“公共语言运行时例外”。在那里您可以更改行为。