Throwable是所有异常的祖宗类
严格来讲 object才是 但object和所有类都有直接或间接的基础关系 所以 用异常来讲 Throwable才是祖宗类
我们主要看他的几个成员方法
我们先来看 getMessage
参开代码如下
public static void main(String args[]) {
int[] arr = {1,2};
try {
System.out.println(arr[2]);
} catch (ArrayIndexOutOfBoundsException e){
System.out.println(e.getMessage());
}
}
运行结果如下
这个方法实用性确实不是很强
然后将代码改成
public static void main(String args[]) {
int[] arr = {1,2};
try {
System.out.println(arr[2]);
} catch (ArrayIndexOutOfBoundsException e){
System.out.println(e.toString());
}
}
运行结果如下
toString能将异常的类名 和 原因还给你 做为返回一个字符串的方法 他可以方便我们将系统的错误信息存储进数据库 后面对系统经常发生的错误进行统计
然后我们将代码改成
public static void main(String args[]) {
int[] arr = {1,2};
try {
System.out.println(arr[2]);
} catch (ArrayIndexOutOfBoundsException e){
e.printStackTrace();
}
System.out.println("结束");
}
运行效果如下
很明显 这就是一个很靠谱的处理方式 输出了 异常类名 原因 位置 计算机 默认也是这么处理的 不过这个我们自己处理 很明显就不会想计算机默认处理那样 去终止程序 我们自己这样处理 很明显 程序没有被终止 因为结束两个字还是输出了 说明 是异常输出后依旧让程序继续运行了