Java 异常处理(2) : 异常处理的方式二:throws + 异常类型
1 package com.bytezero.throwable; 2 3 import java.io.File; 4 import java.io.FileInputStream; 5 import java.io.FileNotFoundException; 6 import java.io.IOException; 7 8 /** 9 * 10 * @Description 异常处理的方式二:throws + 异常类型 11 * @author Bytezero·zhenglei! Email:420498246@qq.com 12 * @version 13 * @date 下午2:28:09 14 * @ 1.throws + 异常类型 写在方法的声明处,指明此方法执行时,可能会抛出的 15 * 异常类型,一旦当方法体执行时,出现异常,仍会在异常代码处生成一个异常类的对 16 * 象.此对象满足 throws后异常类型时,就会被抛出。异常代码后续的代码,就不再执行!! 17 * 18 * 2.体会:try-catch-finally:真正的将异常给处理了 19 * throws的方式只是将异常抛给了方法的调用者。并没有真正将异常处理掉 20 * 21 * 3.开发中如何选择使用try-catch-finally 还是使用throws? 22 * 3.1 如果父类中被重写的方法 没有 throws方式处理异常,则子类重写的方法,也不能 23 * 使用throws,意味着如果子类重写的方法中有异常,必须使用 try-catch-finally 的 24 * 方式处理。 25 * 3.2 执行的方法中,先后又调用了另外的几个方法,这几个方法时递进的关系执行的,我们 26 * 建议这几个方法使用 throws的方式进行处理,而执行的方法a 可以考虑使用 try-catch-finally 27 * 方式进行处理。 28 * 29 * 30 * 31 * 32 */ 33 public class ExceptionTest3 { 34 35 public static void main(String[] args) { 36 try { 37 method2(); 38 39 }catch(FileNotFoundException e) { 40 e.printStackTrace(); 41 }catch(IOException e) { 42 e.printStackTrace(); 43 } 44 45 //method3(); 46 47 } 48 49 public static void method3() { 50 try { 51 52 method2(); 53 }catch(IOException e) { 54 e.printStackTrace(); 55 } 56 57 } 58 59 public static void method2() throws FileNotFoundException,IOException { 60 61 method1(); 62 } 63 64 65 public static void method1() throws FileNotFoundException,IOException { 66 67 68 File file = new File("hello.txt"); 69 FileInputStream fis = new FileInputStream(file); 70 71 int data = fis.read(); 72 while(data != -1) { 73 System.out.println((char)data); 74 data = fis.read(); 75 76 } 77 fis.close(); 78 79 } 80 }
本文来自博客园,作者:Bytezero!,转载请注明原文链接:https://www.cnblogs.com/Bytezero/p/15385899.html