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 }

 

posted on 2021-10-09 15:18  Bytezero!  阅读(67)  评论(0编辑  收藏  举报