例外翻译:
最好不要使用对最终用户没有意义的消息来污染您的应用程序,而是创建有意义的异常和消息,这些异常和消息将转换在应用程序实现深处发生的异常/错误.
根据@ Romain的注释,您可以使用Exception(Throwable cause)构造函数来跟踪较低级别的异常.
来自Effective Java 2nd Edition,第61项:
[...]更高层应该捕获较低级别的异常,并且在它们的位置抛出可以用更高级别的抽象来解释的异常.这个成语被称为异常翻译:
// Exception Translation
try {
// Use lower-level abstraction to do our bidding
...
} catch(LowerLevelException e) {
throw new HigherLevelException(...);
}
Run Code Online (Sandbox Code Playgroud)