在创建异常类时,我应该实现java.lang.Exception的所有构造函数吗?

Mic*_*ann 5 java exception

创建异常类时,可以只提供"特定"构造函数:

public CircularLinkException(final String msg, final String link)
{
    super(msg);
    link = inputName;
}
Run Code Online (Sandbox Code Playgroud)

或者我应该实现以下构造函数Exception:

public class CircularLinkException extends Exception
{
    public CircularLinkException() { /* ... */ }
    public CircularLinkException(final String msg) { /* ... */ }
    public CircularLinkException(final Throwable t) { /* ... */ }
    public CircularLinkException(final String msg, final Throwable t) { /* ... */ }
}
Run Code Online (Sandbox Code Playgroud)

Pet*_*rey 10

您应该创建将要使用的所有构造函数.

当您想象某事物的用途时,不要添加代码.在需要时添加它.

http://c2.com/xp/YouArentGonnaNeedIt.html

  • @MichaWiedenmann由于另一个异常或错误,是否可以触发此异常?如果是这样,你可以成为原因.如果它不是由另一个异常引起的,即它是你自己检查的东西,那么你不需要包装另一个异常.如果它只能由另一个异常触发,则可以将其作为唯一的构造函数. (2认同)