昨天看了一下java异常这一章,突然发现以前不懂的昨天突然一下子转过弯了,我现在总结一下我对java异常的认识,里面肯定有很多不足的地方,请各位多指教啊!
首先什么是异常呢?大家都知道程序总是难免会出错,这些错误包括编译错误和运行错误.编译错误很容易找到,比如少了一个分号,但是运行时错误就常常很难发现.运行时的错误就是所谓的异常(Exception).
在java中跟异常有关的有这几个关键字:try,catch,finally,throw,throws.
try的意思是试试看,也就是说试试看try包含中的语句是否会发生异常,
catch是捕捉的意思,当有异常的时候,而且被捕捉到的话就会执行catch中的语句,
finally中的语句是不论是否发生异常都要执行的,其中的语句通常是释放资源,
throw可以理解为制造异常
throws是将异常抛出,由调用产生该异常的方法来处理。注:如果有一个方法抛出了异常,但是其方法中又有try和catch,那么该异常还是由此方法自己处理。可以这么理解“这件事既然我又能力处理,又何必麻烦别人呢!”。
另外还必须知道以下几点:
1.java的异常全包括在java.lang.Exception包中。
2.大家也许会奇怪,只要指出发生异常的地方和该异常的性质就行了,为什么要产生一个异常类呢?有一个重要的原因就是:它能够使程序正常结束。
3.java中除了RunTimeException外,其他异常必须被捕获或者抛出,否则编译是不会通过。
4.Exception类是继承了Throwable类(可抛出类),Throwable类还包括了Error类。Error类定义了程序中无法捕获的错误。(不太常用,我也没有继续深入。占时只了解这些,以后若知道会和大家一起探讨)。