Java 中用户定义的异常的编码样式



我正在做一个Java项目。 在浏览用户定义的异常类的现有代码时,我遇到了如下所示的代码:

public final class ApplicationException extends RuntimeException {
public static void enforce(final String message) {
    throw new ApplicationException(message);
}
private ApplicationException(final String message) {
    super(message);
}
}

每当我必须在代码中抛出异常时,我都会写

ApplicationException.enforce("exception message here");

我想知道这是某种编码风格或模式,即将 Exception 的创建和抛出包含在公共静态方法中,并在我们想要抛出异常时调用该方法?

开发人员选择这种方式抛出异常的原因可能是什么? 为什么不直接写 throw new ApplicationException("some message");需要时。

使用这种样式的收益是什么?

提前致谢

它将 new 关键字封装在方法中,这可能被视为将用户定义的异常变成一种简单的工厂。

这对于以后的维护和/或测试可能有好处,因为您只需更改 enforce 方法的实现,调用它的客户端代码就会更改。

我认为没有任何具体的原因,并且该模式在Java项目中并不常用。

他可能只是用这样的代码来看起来不错。

相关内容

  • 没有找到相关文章

最新更新