ArithmeticException--算术异常
NullPointerException--无空间异常
ArrayIndexOutOfBoundsException--数组越界异常
NegativeArraySizeException--数组长度为负值异常
ArrayStoreException--数组储存异常
IllegalArgumentException--非法参数异常
SecurityException--安全性异常
捕获异常:当try里面的代码块有异常发生时,然后要执行catch(前提是异常要与catch小括号里面的异常类型相匹配)大括号里面的语句,然后执行try/catch语句块后面的代码段
try{
//代码块
}
catch(异常类型 ex){
//对异常进行处理的代码段
}//代码块
多重catch语句块:当try里面的代码块有异常发生时,会按顺序执行每个catch,并执行第一个与异常类型匹配的catch语句。只会执行其中一个catch语句块,其他忽略。然后执行try/catch语句块后面的代码段
try{
//代码块
}
catch(异常类型1 ex){
//对异常进行处理的代码段
}
catch(异常类型2 ex){
//对异常进行处理的代码段
}
catch(异常类型3 ex){
//对异常进行处理的代码段
}
.....//代码段} *在安排catch语句的顺序时,首先应该捕获子类异常,再是父类,同级的无所谓。反之,后面的无法调用。编译器也不会接受这样的代码。
throw和throws引发异常(抛出)
throw:
总是在函数体,只能抛出一个异常,程勋会在throw语句后立刻终止,后面的语句执行不到,throw必须抛出一个Throwable类的实例(throw ThrowbleInstance)
throws:returnType methondName() throws ExceptionType1,ExceptionType2,ExceptionType3...{
....方法体}
*如果方法有throws被调用,需要在调用的方法中用try和catch进行异常捕获,还可以在调用的方法中使用throws,否则会报错。
*throw语句是在编写方法之中的,而throws语句是用在方法签名之后的。在同一个方法里面使用throw和throws时注意,throws抛出的类型范围要比throw大才可以。
finally:不管try以何种方式结束(正常结束、异常结束、通过return或break),finally子句也是恰好在成员函数返回前执行。*只有一种情况下回阻止,虚拟机被关闭,System.exit(0)。
getMessage:返回此Throwable对象的详细消息的字符串
printStackTrace:将此Throwable对象及其追踪输出至标准错误流,作为字段System.err的值。输出的第一行包含此对象的toString()方法的结果。剩余行表示以前由方法fillInStackTrace()记录的数据。
NullPointerException--无空间异常
ArrayIndexOutOfBoundsException--数组越界异常
NegativeArraySizeException--数组长度为负值异常
ArrayStoreException--数组储存异常
IllegalArgumentException--非法参数异常
SecurityException--安全性异常
捕获异常:当try里面的代码块有异常发生时,然后要执行catch(前提是异常要与catch小括号里面的异常类型相匹配)大括号里面的语句,然后执行try/catch语句块后面的代码段
try{
//代码块
}
catch(异常类型 ex){
//对异常进行处理的代码段
}//代码块
多重catch语句块:当try里面的代码块有异常发生时,会按顺序执行每个catch,并执行第一个与异常类型匹配的catch语句。只会执行其中一个catch语句块,其他忽略。然后执行try/catch语句块后面的代码段
try{
//代码块
}
catch(异常类型1 ex){
//对异常进行处理的代码段
}
catch(异常类型2 ex){
//对异常进行处理的代码段
}
catch(异常类型3 ex){
//对异常进行处理的代码段
}
.....//代码段} *在安排catch语句的顺序时,首先应该捕获子类异常,再是父类,同级的无所谓。反之,后面的无法调用。编译器也不会接受这样的代码。
throw和throws引发异常(抛出)
throw:
总是在函数体,只能抛出一个异常,程勋会在throw语句后立刻终止,后面的语句执行不到,throw必须抛出一个Throwable类的实例(throw ThrowbleInstance)
throws:returnType methondName() throws ExceptionType1,ExceptionType2,ExceptionType3...{
....方法体}
*如果方法有throws被调用,需要在调用的方法中用try和catch进行异常捕获,还可以在调用的方法中使用throws,否则会报错。
*throw语句是在编写方法之中的,而throws语句是用在方法签名之后的。在同一个方法里面使用throw和throws时注意,throws抛出的类型范围要比throw大才可以。
finally:不管try以何种方式结束(正常结束、异常结束、通过return或break),finally子句也是恰好在成员函数返回前执行。*只有一种情况下回阻止,虚拟机被关闭,System.exit(0)。
getMessage:返回此Throwable对象的详细消息的字符串
printStackTrace:将此Throwable对象及其追踪输出至标准错误流,作为字段System.err的值。输出的第一行包含此对象的toString()方法的结果。剩余行表示以前由方法fillInStackTrace()记录的数据。