Предложения по созданию многоразового блока try / catch в C # ?

У меня есть класс, в котором около 20 с лишним методов. Каждый выполняет некоторую обработку сообщений веб-службы. Мне просто нужно было внести в него изменения, и я понял, что у каждого из этих методов есть одна и та же попытка / уловка:

        try
        {
            /* *** actual processing specific to each method goes here *** */
        }
        catch (FaultException<CustomException> cfex)
        {
            // common stuff
        }
        catch (CustomException cfex)
        {
            // common stuff
        }
        catch (Exception ex)
        {
            // common stuff
        }
        finally
        {
            FinalizeServiceCall(wsBus, wsMessage, response, logProps);
        }

Мой вопрос; вместо того, чтобы иметь один и тот же блок try / catch в каждом методе, есть ли способ сделать его общим? Я думал, что в .NET есть такие вещи, как TransactionScope , которые каким-то образом определяют, возникает ли исключение при выходе из этого блока. Могу ли я использовать что-то подобное, чтобы создать общий блок try / catch? Есть ли другие идеи?

21
задан CodingWithSpike 18 May 2011 в 14:28
поделиться