一、什么是异常
错误在我们编写程序的过程中会经常发生,包括编译期间和运行期间的错误
二、异常分类
Error:1.虚拟机错误,2.内存溢出,3.线程锁死
Exception:1.检查异常,2.非检查异常
异常处理
Java异常处理机制:抛出异常和捕获异常
通过5个关键字来实现:try、catch、finally、throw、throws
try - catch - finally
try必须和catch或者finally一起使用,三者均不能单独存在
throw - throws
可以通过throws声明将要抛出何种类型的异常,通过throw将产生的异常抛出
异常链条
1.有时候我们会捕获一个异常后在抛出另一个异常
2.顾名思议就是:将异常发生的原因一个传一个串起来,即把底层的异常信息传给上层,这样逐层抛出
package com.imooc.test;
public class TryDemoFive {
public static void main(String[] args) {
try {
testThree();
}catch(Exception e) {
e.printStackTrace();
}
}
public static void testOne() throws HotelAgeException{
throw new HotelAgeException();
}
public static void testTwo() throws Exception {
try {
testOne();
}catch(HotelAgeException e) {
throw new Exception("我是新产生的异常1",e);
}
}
public static void testThree() throws Exception {
try {
testTwo();
}catch(Exception e) {
//throw new Exception("我是新产生的异常2",e);
Exception e1 = new Exception("我是新产生的异常2");
e1.initCause(e);
throw e1;
}
}
}