异常处理
import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;//异常处理会让代码更健壮/**两种异常处理* 1)在发生位置直接处理* 2)将异常抛出,让调用者处理*//**异常分类(异常父类:java.lang.Throwable)* 1)检查性异常:java.lang.Exception* 2)运行期异常:java.lang.RuntimeException* 3)错误:java.lang.Error*//**finally不会执行情况* 1)finally块中发生了异常* 2)程序所在线程死亡* 3)在前面代码中用了System.exit()* 4)关闭CPU*//**throws* 把异常抛给调用者处理,调用者可以继续抛出给调用者* 也可以在调用者中处理异常* 一直抛出最终会交给JVM虚拟机处理*/public class 异常处理 { public static void main(String[] args) { //打开不存在的文件 //如果有多个catch,当捕获第一个异常时,程序结束,不会捕获下一个异常 FileReader fr=null; try { //放会出现异常的代码 fr=new FileReader("d:/a.txt"); System.out.println("会不会跳过"); } catch (FileNotFoundException e) { //捕获异常 // 输出异常信息 //System.out.println(e.getMessage()); e.printStackTrace(); //非正常退出(值为-1),finally不执行 //System.exit(-1); }finally{ //一般放要关闭的资源 if(fr!=null){ try { fr.close(); } catch (IOException e) { e.printStackTrace(); } } } System.out.println("会执行吗"); }}