异常Exception
常见的异常有
算术异常:ArithmeticException
空指针异常:NullPointerException
数组下标越界异常:ArrayIndexOutOfBoundsException
类型转换异常:ClassCastException
数组负下标异常:NegativeArrayException
字符串转换为数字异常:NumberFormatException、
输入类型不匹配:inputMisMatchException
异常的处理机制分为抛出异常和捕获异常
捕获异常: try , catch , finally
抛出异常:throw, throws
捕捉异常
有异常一次后的代码不会执行,解决异常后紧跟异常的代码也不会执行
try{
可能存在异常的代码,当这里的代码出现异常
就会去catch代块中进行异常匹配,进入catch中就会认为被解决了
整个catch走完没有匹配上就会报错
}catch(Exception e ){
Exception是所有异常的父亲输入这个就不用多次输入catch了
}finally{
finally是可选的
无论异常是否发生finally都会执行
A)try没有捕获异常时,try代码块中的语句依次被执行,跳过catch。如果存在finally则先执行finally在执行后续代码,否则执行后续代码。
B)try捕获到异常时,如果存在匹配的catch,则跳到该catch代码块执行处理。如果存在finally则先执行finally代码块,然后执行后续代码;否则直接执行后续代码。
抛出异常:throw, throws 主要使用这个
自定义异常
1:定义一个类继承Exception或者其子类;
2:编写构造方法(无参和有参);
3:在需要的地方调用异常类(使用throw 抛出实例化后的异常)- 在方法的声明中需要声明
定义异常不解决并抛出异常就会报出定义异常信息: