Java进阶之异常处理(一)
在看这篇文章之前,我们先搞清楚,异常是什么,为什么要处理异常?有人会问,Java语言不是提供了许多方法,以便让程序员写出简洁且安全的代码吗?
但现实当中,有时候你的Expectation(期待)也可能变成Exception(异常),后者就是Throwable的一个实例,它还有个小伙伴,叫Error,不过在编程中我们只需要关注Exception即可。
Bruce的《Thinking in Java》中提到,C以及其他早期语言的错误处理方式往往是建立约定俗成的基础上的,并不属于语言的任何一部分。通常的处理方式是:返回某个特殊值或设置某个标志,并假定接受者对它们进行检查,以此来判断是否发生了错误。然而随着时间的推移,高傲的程序员们更倾向于认为:“对,错误或许会发生,但那是别人造成的,雨我无瓜”。
因此,为了不去检查可能发生错误的代码,异常处理应劫而生。它通过强制规定来消除处理过程中可能出现错误或异常情况的因素。这种方法其中最早可以追溯到BASIC语言的on error goto语句。
我们需要知道的是,C++的异常处理机制基于Ada,而Java的异常处理是建立在C++的基础上的。
异常处理是Java中唯一正式的错误报告机制,通过编译器正式执行。所以如果我们不学习异常处理的话,Java将变得十分单调无趣。
Throwable是什么?
public class Throwable extends Object
很明显,Throwable 类是 Java 语言中所有错误或异常的超类,继承于Object类。它的两个实例,Exception和Error,通常是在发生异常情况的上下文中出现的,因此也