- java异常概念
- java异常分类
- 异常的捕获和处理
运行期出现的错误是最难解决的.
观察错误名字和行号最重要!
c和c++不会检查数组越界的问题(缓冲区域溢出漏洞);
java会检查数组的下标是否越界的问题.
try(一个语句)catch(这个错误){给一个提示}
ae.printStackTrace(打印堆栈的错误,调试用)
java.lang-class throwable异常问题-Error/Exception-RuntimeException
可以处理的异常叫做Exception,无法处理的(天灾)叫Error.RuntimeException是经常出的错误,这种错误可以catch也可以不,老去catch太麻烦了,例如开车有个小石头,直接碾过去就好了.带有throws/throw的错误必须catch,一个try可以对应很多的catch.
finally
无论有没有异常,都要执行finally语句,当try的前面语句发生错误时,后面的语句不会在执行,当我的try语句进行判断时,会打开一些文件,但是如果这个语句出错,我需要去关上这个文件或是清除临时的数据,这个时候需要finally语句进行收尾.
catch语句
- 在catch()中声明的异常对象封装了异常事件发生的信息,在catch语句中可以使用这个对象的一些方法获取这些信息
- getMessage()方法.用来得到有关异常事件的信息
- printStackTrace()方法.用来跟踪异常事件发生时执行堆栈的内容
声明方法抛出的异常throws,throw
有的异常,是我们处理不了的.
throws是针对方法抛出的异常,而throw是针对对象