<分区>
Java 的已检查异常有时会迫使您捕获您认为永远不会抛出的已检查异常。最佳实践要求您将其包装在未经检查的异常中并重新抛出它,以防万一。在那种情况下,你用什么异常类包装?
在“//永远不会发生”的情况下,您会用什么异常来包装?
<分区>
Java 的已检查异常有时会迫使您捕获您认为永远不会抛出的已检查异常。最佳实践要求您将其包装在未经检查的异常中并重新抛出它,以防万一。在那种情况下,你用什么异常类包装?
在“//永远不会发生”的情况下,您会用什么异常来包装?
最佳答案
我还没有,但我会按以下方式进行:
例子:
public static void doAssert(boolean result, String reason) {
if ( !result )
throw new OMGWereDoomedError("Assertion failed: " + reason + " .");
}
我更喜欢这些包装器,因为我可以根据需要更改实现。
此外,我不提倡使用断言,因为我并不总是控制运行时标志,但我确实希望在系统受到威胁时突然停止执行。
考虑一下:
你会选择哪个?
关于java - 你的 ShouldNeverHappenException 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1125128/