是否有任何情况(在实践中)在catch块中抛出Exception有用?

例如

} catch (Exception e) {
    String msg = "ErrorExample";
    log.error(msg);
    throw new RuntimeException(msg, e);
}

最佳答案

当您必须实现缺少要抛出的异常的throws声明的接口方法时,将检查后的异常包装到运行时异常中的特定技巧非常有用。通过将真正的异常包装到RuntimeException中,您可以有效地绕过检查异常的机制,这可能是唯一可用的方法-例如,当您无法控制要实现的接口时。

但是,这不是您应常规执行的操作,因为它实际上使检查的异常无效。如果您必须采用这种方法,则抛出一个更具体的,自定义的,运行时异常是更好的选择,因为您的代码将更加清楚地说明进行包装的原因。

关于java - 是否有任何情况(在实践中)在catch块中抛出Exception有用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42297422/

10-13 03:39