Как получить текущее исключение, не имея передачи переменной?

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

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

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
}

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

10
задан Pierre-Alain Vigeant 7 May 2010 в 13:18
поделиться

2 ответа

Нет, нет.

Вам нужно использовать параметр.

8
ответ дан 4 December 2019 в 01:00
поделиться

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

AppDomain.CurrentDomain.FirstChanceException += (s, e) =>
{
    ShowMessage(e.Exception.Message);
};
3
ответ дан 4 December 2019 в 01:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: