禁用方法范围中的调试器中断

时间:2016-02-22 22:33:36

标签: c# backgroundworker

BackgroundWorker个实例中,我通过测试Exception属性将DoWork方法中的RunWorkerCompleted处理到e.Error方法。

private string Test()
{
    // For the example, always throw an Exception
    throw new Exception("Unknown error");
}

private void DoWork(object sender, DoWorkEventArgs e)
{
    // Will always throw an Exception
    e.Result = Test();
}

private void RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
    if (e.Error != null)
    {
        // Exception is managed here
    }
    else
    {
        // Nevers appends in this example
    }
}

我的问题是调试器总是打破程序,因为"非捕获" Test抛出异常(不是"非托管")。

如何在DoWork范围内禁用调试器?

在调试过程中,我不想在DoWork范围内破解程序,因为我们知道异常将在RunWorkerCompleted中进行管理。

1 个答案:

答案 0 :(得分:1)

如果将属性<system.webServer> <httpErrors errorMode="Custom" existingResponse="Replace" > <remove statusCode="404"/> <error statusCode="404" path="NotFound.html" responseMode="File"/> <remove statusCode="500"/> <error statusCode="500" path="Error.html" responseMode="File"/> <remove statusCode="400"/> <error statusCode="400" path="Error.html" responseMode="File"/> </httpErrors> </system.webServer> 添加到事件处理程序,它将不再被调试器的默认设置选中。

[DebuggerNonUserCode]

请注意,您需要拥有&#34; Just My Code&#34;在调试器设置中启用(默认情况下启用)。

enter image description here