rni*_*902 4 java exception try-catch
我不熟悉错误/异常处理.这是怎么回事"引擎盖下"当一个例外是caught和thrown?
即在try-catch块中捕获异常然后抛出它有什么意义呢?
例如:
try {
//Stuff
} catch(StuffException e) {
throw new MyException();
}
}
Run Code Online (Sandbox Code Playgroud)
关于异常机制的内部工作原理:有很多关于此的文档.我特别喜欢这篇文章:http: //www.javaworld.com/article/2076868/learn-java/how-the-java-virtual-machine-handles-exceptions.html
超短摘要:当抛出异常时,jvm会在一个表中查找,该表继续执行(异常的init()方法).
对于问题的第二部分:
在try-catch块中捕获异常然后抛出它有什么意义?
我看到了抓住另一个异常的一些原因:
您可能希望捕获未经检查的异常(因为您知道"可能发生了一些不好的事情")并抛出一个已检查的异常 - 因此调用者必须处理它.
您想使用自定义Exception,可能还有其他信息/逻辑
您正在实现一个错误外观,例如抛出异常并在外观中捕获它们.
| 归档时间: |
|
| 查看次数: |
395 次 |
| 最近记录: |