Throwable是java中所有错误和异常的超类,error没办法解决,可能会是硬件的问题,我们需要解决的是异常,RuntimeException是java虚拟机正常操作期间可以抛出的超类,RuntimeException系列的异常是需要回到代码中修改代码的,非RuntimeException是在我编译代码时候就必须修改的,否则无法通过编译
异常处理纸try...catch
如果程序出现异常需要自己来处理,有两种方案,一种try...catch,一种是throws

System.out.println(arr[3]);下标越界所以应该报ArrayIndexOutOfBoundsException的错,但是有catch(ArrayIndexOutOfBoundsExceptio e)所以会运行catch的代码,如果没有catch的时候代码会中断遇到错误,但是由于有catch(ArrayIndexOutOfBoundsExceptio e)他不会中端,即使中间出错也会给下继续执行输出结束,他是在System.out.println(arr[3]);出ArrayIndexOutOfBoundsExceptio 错,然后new一个ArrayIndexOutOfBoundsExceptio,在catch找到了就运行catch了.........e是一个对象,他有很多的方法
Throwable的成员方法
Throwable方法的演示
1:getMessage():输出异常的原因
底层实现:在Throwable中有一个
public String getMessage() {
return detailMessage;
}
而detailMessage本身是一个成员变量,只不过被构造赋值,例如:
private String detailMessage;
public Throwable(String message){
detailMessage = message;
}
2:toString:包含getMessage的内容而且也有错误的名字:java.lang.ArrayIndexOutOfBoundsException: 3
3: printStackTrace
是最全的,包括前两个而且还有内置信息
编译时异常出现红线,需要用try...catch,如果不用就报红线,说明有可能出现异常,所以需要加上try..catch,
4814

被折叠的 条评论
为什么被折叠?



