发布网友 发布时间:2022-04-24 12:13
共1个回答
热心网友 时间:2022-04-09 13:16
可以选择三种方法来进行异常处理1对代码块用try..catch进行异常捕获处理;
2在 该代码的方法体外用throws进行抛出声明,告知此方法的调用者这段代码可能会出现这些异常,你需要谨慎处理。此时有两种情况:
如果声明抛出的异常是非运行时异常,此方法的调用者必须显示地用try..catch块进行捕获或者继续向上层抛出异常。
如果声明抛出的异常是运行时异常,此方法的调用者可以选择地进行异常捕获处理。
3在代码块用throw手动抛出一个异常对象,此时也有两种情况,跟2)中的类似:
如果抛出的异常对象是非运行时异常,此方法的调用者必须显示地用try..catch块进行捕获或者继续向上层抛出异常。
如果抛出的异常对象是运行时异常,此方法的调用者可以选择地进行异常捕获处理。
(如果最终将异常抛给main方法,则相当于交给jvm自动处理,此时jvm会简单地打印异常信息)
常处理和设计的建议
1. 只在必要使用异常的地方才使用异常,不要用异常去控制程序的流程
2. 切忌使用空catch块
3. 检查异常和非检查异常的选择
4. 注意catch块的顺序
5. 不要将提供给用户看的信息放在异常信息里
6. 避免多次在日志信息中记录同一个异常
7. 异常处理尽量放在高层进行
8. 在finally中释放资源