2

我决定在我的代码中使用异常来传递错误处理。每次我想创建一个新异常时,我都发现自己在重复代码。这些类没有什么特别的,只包含一个消息。但是在处理它们时,我已经开始依赖类型安全了。有没有办法提供一个新的异常类类型而不必重新实现构造函数?

[Serializable]
class MyNewException : MyBaseException
{
    public MyNewException (String tMsg)
        : base(tMsg)
    {
    }

    public MyNewException (String tMsg, Exception tInnerEx)
        : base(tMsg, tInnerEx)
    {
    }
}

对于我要定义的每种不同类型的异常,上面的代码重复了很多次。

4

1 回答 1

1

不幸的是,不,必须提供构造函数,因为它们不是继承的。

此外,除非您正在捕获这些特定异常并在它们发生时执行显式处理,否则我建议您使用包含您可能需要的其他信息的通用异常。但是,这可能不适用于您的情况。

于 2011-11-28T02:16:37.323 回答