Исключение глобальной обработки в приложении WPF с Caliburn.Micro

Привет, я пытаюсь реализовать решение с этого сайта в моем приложении WPF для глобального обработка исключений.

http://www.codeproject.com/Articles/90866/Unhandled-Exception-Handler-For-WPF-Applications.aspx

Я использую Caliburn Micro как среду MVVM. Я перемещаю логику дескриптора исключения в метод OnUnhandledException в классе bootstraper.

Вот мой код из класса bootstraper:

 public class MefBootStrapper : Bootstrapper
    { 
//...
    private IMessageBox _msgBox = new MessageBoxes.MessageBoxes();

    public bool DoHandle { get; set; }

    protected override void OnUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e)
    {
        if (DoHandle)
        {
            _msgBox.ShowException(e.Exception);
            e.Handled = true;
        }
        else
        {
            _msgBox.ShowException(e.Exception);
            e.Handled = false;
        }

    }
//...
    }

Я привязываю некоторый метод из модели представления к кнопке и генерирую новое исключение. Примерно так:

public void LogOn()
{
    throw new ArgumentException("Bad argument");
}

Но результат сам, я тестирую приложение вне Visual Studio и получаю это исключение.

Исключение было сгенерировано целью вызова.

6
задан 15 February 2011 в 18:32
поделиться