Freetao's Blog

java程序设计中的异常处理

天有不测风云,人有旦夕祸福,Java的程序代码也如此。在编程过程中,首先应当尽可能去避免错误和异常发生,对于不可避免、不可预测的情况则在考虑异常发生时如何处理。

异常的对象从哪里来呢?有两个来源,一是Java运行时环境自动抛出系统生成的异常,而不管你是否愿意捕获和处理,它总要被抛出!比如除数为0的异常。二是程序员自己抛出的异常,这个异常可以是程序员自己定义的,也可以是Java语言中定义的,用throw 关键字抛出异常,这种异常常用来向调用者汇报异常的一些信息。

异常产生后,就向调用它的函数反馈 。“你不给他个说法,他就会给你一个说法” 抛出的异常信息如果没有被内部 catch 他就一层层向上反映,直到最终搞到引起“中央”的重视(对于pc就是直到操作系统处理异常并发回错误报告),所以程序员要保住自己在用户面前的良好形象,可就得在如何在基层消灭不和谐的声音上费些心思了。

Java异常处理是Java语言的一大特色,也是个难点,掌握异常处理可以让写的代码更健壮和易于维护。

通过分析思考可以看出,越早处理异常消耗的资源和时间越小,产生影响的范围也越小。因此,不要把自己能处理的异常也抛给调用者。当然,前提是 整个系统是否能稳定、高效运行 直接与你的利益挂钩 ,对于那些提供api接口的程序,要指望他们为你解决好所有异常,就像对他们谈“个人利益服从集体利益”一般。

Error(运行时错误)和运行时异常的相同之处是:Java编译器都不去检查它们,当程序运行时出现它们,都会终止运行。

Kainy Guo wechat
微信扫码,或订阅 Feed 解锁更多开发技能。