java 19 - 7 throw和throws的区别

 1 /*
 2   throw:如果出现了异常情况,我们可以把该异常抛出,这个时候的抛出的应该是异常的对象。
 3  4  throws和throw的区别(面试题)
 5   throws
 6         用在方法声明后面,跟的是异常类名
 7         可以跟多个异常类名,用逗号隔开
 8         表示抛出异常,由该方法的调用者来处理
 9         throws表示出现异常的一种可能性,并不一定会发生这些异常
10   throw
11         用在方法体内,跟的是异常对象名
12         只能抛出一个异常对象名
13         表示抛出异常,由方法体内的语句处理
14         throw则是抛出了异常,执行throw则一定抛出了某种异常
15     
16 异常处理的原则:如果该功能内部可以将问题处理,用try,如果处理不了,交由调用者处理,这是用throws
17     区别:
18         后续程序需要继续运行就try
19         后续程序不需要继续运行就throws
20     举例:
21         感冒了就自己吃点药就好了,try
22         吃了好几天药都没好结果得了H7N9,那就的得throws到医院
23         如果医院没有特效药就变成Error了
24 
25  */
26 public class ExceptionDemo {
27     public static void main(String[] args) {
28         // method();
29         
30         try {
31             method2();
32         } catch (Exception e) {
33             e.printStackTrace();
34         }
35     }
36 
37     public static void method() {
38         int a = 10;
39         int b = 0;
40         if (b == 0) {
41             throw new ArithmeticException();
42         } else {
43             System.out.println(a / b);
44         }
45     }
46 
47     public static void method2() throws Exception {
48         int a = 10;
49         int b = 0;
50         if (b == 0) {
51             throw new Exception();
52         } else {
53             System.out.println(a / b);
54         }
55     }
56 }

 

posted @ 2016-09-27 22:11  卡拉瓦  阅读(265)  评论(0编辑  收藏  举报