异常处理的方式二:throws+异常类型
程序员文章站
2024-01-05 09:55:16
1 package com.yhqtv.demo01Exception; 2 3 import java.io.File; 4 import java.io.FileInputStream; 5 import java.io.FileNotFoundException; 6 import java. ......
1 package com.yhqtv.demo01exception; 2 3 import java.io.file; 4 import java.io.fileinputstream; 5 import java.io.filenotfoundexception; 6 import java.io.ioexception; 7 8 /* 9 * 异常处理的方式二:throws+异常类型 10 * 11 *1.“throws+异常类型”写在方法的声明处,指明此方法执行时,可能会抛出的异常类型, 12 * 一旦当方法执行时,出现异常,仍会在异常处生成一个异常类的对象,此对象满足throws后异常 13 * 类型时,就会被抛出,异常代码后续的代码,就不再执行。 14 * 15 * 2.体会:try-catch-finally:真正的将异常给处理掉了、 16 * throws的方式只是将异常抛给了方法的调用者,并没有真正将异常处理。 17 * 18 *3.开发中如何尊的使用两种处理异常方法? 19 * a.如果父类中被重写的方法没有throws方式处理异常,则子类重写的方法也不能使用throws,意味着如果 20 * 子类重写的方法中有异常,必须使用try-catch-finally方式处理。 21 * b.执行的方法a中,先后又调用了另外的几个方法,这几个犯法是递进关系执行的,我们建议这几个方法 22 * 使用throws的方式处理。而执行的方法a可以考虑使用try-catch-finally方式进行处理。 23 * 24 * 25 * 方法重写的规则之一: 26 * 子类重写的方法抛出的异常类型不大于父类的被重写的方法抛出的异常类型 27 * */ 28 public class exceptiontest2 { 29 30 public static void main(string[] args) { 31 try{ 32 method2(); 33 }catch (ioexception e){ 34 e.printstacktrace(); 35 } 36 37 } 38 39 public static void method2() throws ioexception { 40 41 method1(); 42 } 43 44 public static void method1() throws filenotfoundexception, ioexception { 45 46 file file = new file("hello.txt"); 47 fileinputstream fis = new fileinputstream(file); 48 49 int data = fis.read(); 50 while (data != -1) { 51 system.out.println((char) data); 52 data = fis.read(); 53 54 } 55 fis.close(); 56 57 } 58 59 }