异常处理及常见异常问题
1. 异常
JavaException:
1、Error
2、RuntimeException运行时异常
3、Exception
4、throw用户自定义异常
异常类分两大类型:Error类代表了编译和系统的错误,不允许捕获;Exception类代表了标准Java库方法所激发的异常。Exception类还
包含运行异常类Runtime_Exception和非运行异常类Non_RuntimeException这两个直接的子类。
1.异常关系表如图:
2. 常见异常
算术异常类:ArithmeticExecption
空指针异常类:NullPointerException
类型强制转换异常:ClassCastException
数组负下标异常:NegativeArrayException
数组下标越界异常:ArrayIndexOutOfBoundsException
违背安全原则异常:SecturityException
文件已结束异常:EOFException
文件未找到异常:FileNotFoundException
字符串转换为数字异常:NumberFormatException
操作数据库异常:SQLException
输入输出异常:IOException
方法未找到异常:NoSuchMethodException
什么是异常?
答:指程序运行过程中,经常会遇到一些意外的情况,这些意外会导致程序出错或者崩溃,从而影响程序的正常执行。
出现异常的原因
为什么要处理异常?
答:因为会影响程序的正常执行当程序遇到异常,会终止,希望程序出了异常还能继续运行。
程序出异常时,jvm会创建一个相应的异常的类的对象。
2.java处理异常的方式:抓抛模型
使用try{ }catch( ){ }抓异常
Try{
//可能出现的代码
}catch(Exception1 e1){
//处理1
}catch(Exception2 e2){
//处理2
}finally{
//一定执行的
Finally
finally中的代码一定会执行,即使return也会执行。除非退出虚拟机
Throws抛出异常
使用throws可以将异常拋出去,拋给了方法的调用者。
拋出异常是针对编译时异常而言。
对于编译时异常而言,什么时候拋出异常,什么时候处理异常?
谁引起的异常,谁就处理。