Как получить текущее исключение, не передавая переменную? - PullRequest
10 голосов
/ 07 мая 2010

Я ищу способ получить текущее исключение, не передавая его как переменную.

Предположим, следующий код

public void MakeItFail()
{
    try
    {
        throw new FailException();
    }
    catch // Yes I'm aware that this shouldn't be done, but I don't want to go through all the code base and change it
    {
        ShowMessage("An error occured");
    }
}

public void ShowMessage(string message)
{
    // How can I retrieve the exception here
}

В окне просмотра я могу использовать $ исключение, чтобы получить текущее исключение. Есть ли эквивалент кода?

Ответы [ 2 ]

8 голосов
/ 07 мая 2010

Нет, нет.

Вам необходимо использовать параметр.

3 голосов
/ 07 мая 2010

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

AppDomain.CurrentDomain.FirstChanceException += (s, e) =>
{
    ShowMessage(e.Exception.Message);
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...