0

コード レビュー中にこの C# コードを見つけました。どういうわけか、同じ引数(キャッチ内)で2回コールバックするのは奇妙に思えます。

public interface IMyExceptionHandler
{
    void Handle_1(Exception ex);

    void Handle_2(Exception ex);
}

public class SpecialException : Exception {}

public class MyBusinessLogic
{
    private readonly IMyExceptionHandler _handler;

    public MyBusinessLogic(IMyExceptionHandler handler)
    {
        _handler = handler;
    }

    public void DoMagic()
    {
        try
        {
            // ommitted.
        }
        catch (SpecialException ex)
        {
            _handler.Handle_1(ex);
            _handler.Handle_2(ex);

            // 3rd way to handle ex somehow.
        }
    }
}

より特別な処理方法でインターフェイスを強化しない正当な理由はありますか?

4

0 に答える 0