程序出现异常后,需要我们处理的是Exeption的类型。这种异常分为受查异常、非受查异常。受查异常是我们必须解决的问题点,有throws和try-catch的方法可以解决。非受查异常没有强制修改的要求,但其实本身也是可以进行优化的选项,也是我们处理异常的范畴。下面就Exeption的这两种分支带来详细讲解。
1.受查异常
表示在正常的程序运行期间可能发生的预期问题,该部分异常是程序要求你必须处理的,否则编译无法通过。比如当你用程序尝试跟外部IO设备进行通信时,可能会发生的IO异常现象,该部分异常的发生是不可避免的,由外部因素决定,程序本身无法杜绝。
(1)通过throws关键字声明可能抛出的异常
private static void readFile(String filePath) throws IOException { File file = new File(filePath); String result; BufferedReader reader = new BufferedReader(new FileReader(file)); while((result = reader.readLine())!=null) { System.out.println(result); } reader.close();}
(2)try-catch处理异常
public void fun3(){ int a = 10;//不会抛出异常 String b = fun2();//不会抛出异常 try { Object obj = fun1(); } catch (Exception e) { //处理逻辑 } }
2.非受查异常
表示不需要进行强制处理的异常,只会发生在程序运行时,该部分异常的产生多半是因为数据的缘故导致,之所以JVM没有强制性要求程序员去处理,因为该部分的异常是程序员可以杜绝的(可预先进行条件判断处理,增加代码的健壮性)。
以上就是Exeption在java中两种分支的介绍,一般我们处理的都是受检异常,两种方法throws和try-catch分享给大家,在程序异常时灵活选择进行处理。