Java 为什么spring只处理未检查的异常
我想知道为什么spring只处理未检查的异常。。。。。有谁能解释这背后的原因吗 Spring正在使用任何可以避免检查异常的设计模式 Spring使用的任何设计模式都将避免检查 例外情况 不是设计模式,而是异常处理的最佳实践 考虑以下代码:Java 为什么spring只处理未检查的异常,java,spring,exception,Java,Spring,Exception,我想知道为什么spring只处理未检查的异常。。。。。有谁能解释这背后的原因吗 Spring正在使用任何可以避免检查异常的设计模式 Spring使用的任何设计模式都将避免检查 例外情况 不是设计模式,而是异常处理的最佳实践 考虑以下代码: public void consumeAndForgetAllExceptions(){ try { ...some code that throws exceptions } catch (Exception ex){
public void consumeAndForgetAllExceptions(){
try {
...some code that throws exceptions
} catch (Exception ex){
ex.printStacktrace();
}
}
上面的代码有什么问题
一旦抛出异常,正常的程序执行将暂停,控制权将转移到catch块。catch块捕获异常并将其抑制。程序在catch块之后继续执行,就好像什么都没有发生一样
下面呢
public void someMethod() throws Exception{
}
该方法为空白方法;它里面没有任何代码。空白方法如何抛出异常?Java不会阻止您这样做
我想知道为什么spring只处理未检查的异常
就我个人而言,我更喜欢在声明中声明未经检查的异常。当我对异常不感兴趣时,我讨厌捕捉异常。我同意规范需要更多的异常类型,但我不同意应该检查它们。大多数框架依赖于未检查的异常,而不仅仅是Spring框架
设计API的最佳实践
- 如果客户端可以采取其他操作从异常中恢复,请将其设置为选中异常
- 如果客户端无法执行任何有用的操作,则取消选中异常。所谓有用,我指的是采取步骤从异常中恢复,而不仅仅是记录异常
NullPointerException
,IllegalArgumentException
和IllegalStateException
。我更喜欢使用Java提供的标准异常,而不是创建自己的异常。它们使我的代码易于理解,并避免增加代码的内存占用
另请参见: