java 中用户定义异常的编码风格
Coding Style for User defined Exception in java
我正在做一个 java 项目。在浏览用户定义异常 class 的现有代码时,我遇到了如下代码:
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");
我想知道这是某种编码风格或模式,即在 public 静态方法中包含异常的创建和抛出,并在我们想抛出异常时调用该方法?
开发人员选择这种方式抛出异常的原因可能是什么?为什么不直接写
throw new ApplicationException("some message");
随时需要。
使用这种风格有什么好处?
提前致谢
我认为没有任何具体原因,而且该模式在 Java 项目中并不常用。
他大概只是为了好看才用了这样的代码。
将new
关键字封装在一个方法中,可以看做是把自定义异常变成了一种simple factory。
这可能有利于以后维护 and/or 测试,因为您只需更改 enforce
方法的实现,调用它的客户端代码就会发生变化。
我正在做一个 java 项目。在浏览用户定义异常 class 的现有代码时,我遇到了如下代码:
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");
我想知道这是某种编码风格或模式,即在 public 静态方法中包含异常的创建和抛出,并在我们想抛出异常时调用该方法?
开发人员选择这种方式抛出异常的原因可能是什么?为什么不直接写
throw new ApplicationException("some message");
随时需要。
使用这种风格有什么好处?
提前致谢
我认为没有任何具体原因,而且该模式在 Java 项目中并不常用。
他大概只是为了好看才用了这样的代码。
将new
关键字封装在一个方法中,可以看做是把自定义异常变成了一种simple factory。
这可能有利于以后维护 and/or 测试,因为您只需更改 enforce
方法的实现,调用它的客户端代码就会发生变化。