异常-throws的方式处理异常

 1 定义功能方法时,需要把出现的问题暴露出来让调用者去处理。那么就通过throws在方法上标识。
 2 
 3 package cn.itcast_05;
 4 
 5 import java.text.ParseException;
 6 import java.text.SimpleDateFormat;
 7 import java.util.Date;
 8 
 9 /*
10  * 有些时候,我们是可以对异常进行处理的,但是又有些时候,我们根本就没有权限去处理某个异常。
11  * 或者说,我处理不了,我就不处理了。
12  * 为了解决出错问题,Java针对这种情况,就提供了另一种处理方案:抛出。
13  * 
14  * 格式:
15  *         throws 异常类名
16  *         注意:这个格式必须跟在方法的括号后面。
17  * 
18  * 注意:
19  *         尽量不要在main方法上抛出异常。
20  *         但是我讲课为了方便我就这样做了。
21  * 
22  * 小结:
23  *         编译期异常抛出,将来调用者必须处理。
24  *         运行期异常抛出,将来调用可以不用处理。
25  */
26 public class ExceptionDemo {
27     public static void main(String[] args) {
28         System.out.println("今天天气很好");
29         try {
30             method();//编译期异常抛出,必须处理
31         } catch (ParseException e) {
32             e.printStackTrace();
33         }
34         System.out.println("但是就是不该有雾霾");
35 
36         method2();//运行期异常抛出,可以不用处理。
37     }
38 
39     // 运行期异常的抛出
40     public static void method2() throws ArithmeticException {
41         int a = 10;
42         int b = 0;
43         System.out.println(a / b);
44     }
45 
46     // 编译期异常的抛出
47     // 在方法声明上抛出,是为了告诉调用者,你注意了,我有问题。
48     public static void method() throws ParseException {
49         String s = "2014-11-20";
50         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
51         Date d = sdf.parse(s);
52         System.out.println(d);
53     }
54 }