Throwable
Throwable有两个直接子类Error和Exception,其中Error代表程序产生的错误,Exception代表程序产生的异常。
常见的错误:
1、VirtualMachineError 虚拟机运行错误
2、outofMemoryError 虚内存溢出错误
3、NoclassDefFoundError 类定义错误
异常:
一、编译器异常:
1、IOException输入输出异常
2、SQLException数据库异常
3、classNotFoundException类找不到异常
二、运行期异常:
1、算术异常
2、空指针异常
3、IndexOutOfBoundsException 角标越界异常
4、ClassCastException 类型转换异常
解决异常方法:
1、使用throws关键字声明抛出异常,让其调用者对其处理,最终交给JVM处理
2、使用try … catch语句对异常进行捕获处理
throws异常处理的缺陷是,报错之后的代码就不执行了
try …catch:自己处理异常
try{可能产生异常的代码
}catch{定义一个逻辑变量用来接收try中抛出的异常对象
异常的处理逻辑
}catch{
}
...
finally{无论是否异常都会执行的代码块
}
try…catch注意事项:
1、try可以抛出多个异常使用多个catch接受异常,处理异常
2、如果try中不出现异常就不执行catch
3、finally不能单独使用必须与try放在一起使用
4、finally一般用于资源释放(资源的回收),无论是否异常程序都需要资源释放
5、如果finally有return语句永远返回finally中的结果,避免该情况发生
throws和throw区别
throw用于方法体内,抛出的是一个异常类对象
throws用在方法声明中,用来指明方法可能抛出异常
throw关键字抛出异常对象后好需要用throws或者try…catch解决异常。