Global try catch

Я знаю, что try catch много обсуждался, но я еще не нашел решения своей проблемы.

Я пишу приложение Silverlight, в котором каждое исключение должно генерировать MessageBox, который говорит что-то вроде «Извините за неудобства».

Поскольку я не могу гарантировать, что мой код будет свободен от исключений, мой коллега поручил мне использовать try catch в каждом методе (паре сотен) следующим образом:

public void Method1()
{
    try
    {
        ...
    }
    catch (Exception e)
    {
        MessageBox.Show("Something went wrong, we apologize for the inconvenience. \n" + e.Message);
    }
}

public void Method2()
{
    try
    {
        ...
    }
    catch (Exception e)
    {
        MessageBox.Show("Something went wrong, we apologize for the inconvenience. \n" + e.Message);
    }
}

Но это кажется слишком чрезмерным. Я читал, что таким образом не используют try catch, плюс будет много дублированного кода, плюс код будет запутанным и трудным для чтения.

Есть ли какие-либо альтернативы, такие как глобальный try catch, который я могу использовать?

8
задан Kiquenet 8 August 2019 в 14:35
поделиться