异常对象
}catch(异常 e){
e.printStackTrace
}finally{
}
e.printStackTrace:打印异常对象中描述出错信息
如果一个try块中有多个catch块进行监控。只要有一个catch捕获异常成功,其余的catch块全部忽略。
Finally: 无论是否有异常 都会执行的语句块。如果在try或catch中,有return语句,fnally会在跳出方法前 执行。只有在try或catch中,结束程序,finally才不会执行。
Finally一般用于支援清理工作,如:流的关闭,数据库的关闭等。
Throw new NullPointerException();显示产生一个异常对象,然后抛出。
异常执行的顺序:
2015年8月21日
16:44
首先执行try块,顺序执行。 如果在try块中,有异常抛出,则转向catch块执行。同时终止try块中其余的代码。当try…..catch执行完后,继续执行try…..catch之后的代码。
异常的分类
2015年8月21日
17:17
异常分为:编译器异常(检查异常)和运行期异常(非检查异常)。
编译期异常:要求用户必须用try…..catch捕获的。如果用户不捕获,则编译错误。
运行期异常:用户可以捕获,也可以不捕获。不捕获也不会有编译错误。所有的运行期异常都是RuntimeException的子类。
throw和throws的区别
2015年8月21日
17:43
- throw是一条语句,表示显示抛出一个异常对象。Throw new Exception();
- Throwshi方法修饰符,表示该方法可能会抛出某种异常。这时 ,如果调用该方法,则必须处理该方法抛出的异常。
异常的种类
2015年8月21日
17:49
Java.lang.NumberFormatException: 将字符串转为数字类型,转换失败抛出的异常。
Java.lang.NullPointerExcepting:空指针异常。对null值调用方法或属性是抛出的异常
Java.lang.ArrayIndexOutOfBoundsException:数组下标越界异常。当数组变量引用不合法下标时抛出异常。