1.目的
捕获异常异常,让流程继续走下去
2.流程
try{
运行事务代码
} catch{
捕获异常
}
3.捕获所有异常
所有异常的父类 Exception
catch Excepiton就可以
public class ExceptionDemo {
public static void main(String[] args) {
try{
throw new Exception("我出错了");
} catch (Exception e){
e.printStackTrace();
}
}
}
3.1异常类构成
3.1.1 detailMessage
抛出异常时,自定义填写的原因
3.1.2 cause
3.1.3 stackTrace 轨迹栈
static void f() {
try {
throw new Exception();
} catch (Exception e) {
for (StackTraceElement ste : e.getStackTrace()) {
System.out.println(ste.getMethodName());
}
System.out.println("-------------------");
e.printStackTrace();
}
}
public static void main(String[] args) {
f();
}
stackTrace详情、
两个元素
栈:先进后出
系统会把异常压入栈中,
输出时,把轨迹栈变成数组。
所以先输出的是最后一个异常,最后输出的是第一个异常