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