java重新开始 四十(异常处理)
1、捕获异常
try内部出现异常就会执行catch的内容
try {
int[] i = new int[1];
int a = i[2];
}catch (Exception e){
System.out.println("出错了");
e.printStackTrace();
}finally{
System.out.println("无论是否出错, 都会执行的代码");
}
2、如果不打算处理异常,可以上抛 throws
public static void main(String[] args) {
try {
get();
}catch (Exception e){
System.out.println("我接了错误");
}
}
public static void get() throws Exception{
int[] i = new int[1];
int a = i[2];
}
3、运行时异常与非运行时异常
错误Error,指的是系统级别的异常,通常是内存用光了
运行时异常 RuntimeException 和错误 Error 都能被捕捉
运行时异常与非运行时异常的区别?
运行时异常是不可查异常,而且大多都太过于普遍,如果都需要进行捕捉,代码的可读性就会变得很糟糕,所以不需要对其进行显式的捕捉 非运行时异常是可查异常,必须要对其进行显式的捕捉,抛出,不然编译器会报错不允许程序运行.
4、自定义异常
class EnemyHeroIsDeadException extends Exception{
public EnemyHeroIsDeadException(){
}
public EnemyHeroIsDeadException(String msg){
super(msg);
}
}
主动抛出异常
throw new EnemyHeroIsDeadException( "粗大事了" );
版权声明:本文为qq_29945865原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。