Предотвращение отладки Visual Studio при явном «необработанном исключении» - PullRequest
6 голосов
/ 07 октября 2011

Пожалуйста, примите во внимание этот короткий консольный код приложения.

static void Main(string[] args)
{
    try
    {
        Action a = () =>
        {
            throw new ApplicationException("Oops");
        };

        var ar = a.BeginInvoke(null, null);
        ar.AsyncWaitHandle.WaitOne();
        try
        {
            a.EndInvoke(ar);
            Console.WriteLine("No message");
        }
        catch (Exception e)
        {
            Console.WriteLine(e.Message);
        }
    }
    finally
    {
        Console.ReadKey();
    }
}

При запуске Visual Studio сломается на throw с жалобой на то, что он не обработан.При выполнении вне отладчика код выполняет то, что я ожидаю (отображает «Упс»).

Как убедить Visual Studio разрешить выполнение кода так же, как в реальном мире?

1 Ответ

2 голосов
/ 07 октября 2011

Вы можете применить атрибут DebuggerNonUserCode к методу, чтобы скрыть его от отладчика.

...