Java处理异常
-
异常:
异常处理(一般只针对编译期异常)-> 五个关键字
一个try块对应一个或者多个catch块-
try:
注意:1 ) 如果当前try块中存在多条可能会发生异常的代码A,B C 三条语句
如果A发生异常,此时B,C语句不会被执行到。
2)try块尽量避免嵌套 -
catch -> 尽量避免过细划分异常
注意:1)catch(NullPointerException){ //先用关心的子类处理,不关心的直接用父类处理
}catch(Exception e){ } 3. finally: 特点是:无论是否发生异常必定会被执行到 TODO:面试常见问题: TODO: 1) final finally finalize TODO:2)如果try块里面包含 return;并且finally块也包含return; 从finally块return退出 TODO: 3) 如果try块里面含有退出System.exit();finally也包含:问:此时从哪里退出 从try块中System.exit退出
- throw: throw new EmptyStackException();
扔异常对象 - throws
void fun()throws InterruptedException{
Thread.sleep(1000);//(单位毫秒)
}
调用处:
try{
fun();//谁调谁处理
}catch(InterruptedException e){
e.printStackTrace();
}
try { //可能发生异常的代码 arr[1] = 10;//JVM抛出异常对象 } catch (ArrayIndexOutOfBoundsException e) { e.printStackTrace();
}
-