码迷,mamicode.com
首页 > 其他好文 > 详细

课堂所讲整理:异常

时间:2016-03-13 17:25:21      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:

 1 package org.hanqi.ex;
 2 
 3 public class TestException {
 4 
 5     public static void main(String[] args) {
 6         
 7         //产生异常
 8         //除0异常
 9         //1.捕获 
10         try
11         {
12             int i = 12/10;    
13             
14             //打开一些资源
15             String s = null;
16             System.out.println("打开资源");            
17             //使用
18             //如果在使用中出现异常
19             System.out.println("使用资源");
20             s.length();
21             //关闭资源并释放
22             System.out.println("希望一定要执行的释放资源代码");
23         }
24         catch(ArithmeticException ex)
25         {
26             //针对特定的异常进行特别的处理
27             System.out.println("捕获了ArithmeticException异常");
28             //获取异常信息
29             String str = ex.getMessage();
30             //处理方式:显示或记录日志
31             System.out.println("异常信息="+str);
32             //把异常详细信息输出到控制台
33             ex.printStackTrace();
34             System.out.println();
35         }        
36         
37         catch(NullPointerException ex)
38         {
39             //针对特定的异常进行特别的处理
40             System.out.println("捕获了NullPointerException异常");
41             //获取异常信息
42             String str = ex.getMessage();
43             //处理方式:显示或记录日志
44             System.out.println("异常信息="+str);
45             //把异常详细信息输出到控制台
46             ex.printStackTrace();
47             System.out.println();
48         }
49         catch(Exception ex)
50         {
51             //针对特定的异常进行特别的处理
52             System.out.println("捕获了Exception异常");
53             //获取异常信息
54             String str = ex.getMessage();
55             //处理方式:显示或记录日志
56             System.out.println("异常信息="+str);
57             //把异常详细信息输出到控制台
58             ex.printStackTrace();
59             System.out.println();
60         }
61         finally//一定会被执行的代码
62         {
63             System.out.println("希望一定要执行的释放资源代码");
64         }
65         
66         try
67         {
68             int j = 12/0;
69         }
70         finally
71         {
72             System.out.println("希望一定要执行的释放资源代码");
73         }
74         System.out.println("程序继续执行");
75     }
76 }

技术分享

 

 1 package org.hanqi.ex;
 2 
 3 public class MyThrow {
 4     
 5     //把throws放在方法的后面,特别声明方法有可能出现的异常
 6     //方法本身不处理,交给调用者处理
 7     public int chu(int a,int b) throws Exception
 8     {
 9         return a/b;
10     }
11     public void diaoyong() throws Exception
12     {
13         try {
14             int i = chu(12,10);
15         } catch (Exception e) {
16             // TODO 自动生成的 catch 块
17             //e.printStackTrace();
18             System.out.println("我捕获了异常"+e.getMessage());
19             //主动抛出
20             throw e;
21         }
22     }
23     public void diaoyong2() throws Exception 
24     {
25         int i = chu(12,0);
26     }
27     public int test(int a,int b) throws Exception
28     {
29         //数据验证
30         if(b==0)
31         {
32             //自己定义
33             Exception e = new Exception("我自定义的异常信息:第二个参数不能等于0");
34             throw e;
35         }
36         return a/b;
37     }
38     public static void main(String[] args)
39     {
40         MyThrow mt = new MyThrow();
41         try {
42             mt.diaoyong();
43         } catch (Exception e) {
44             // TODO 自动生成的 catch 块
45             e.printStackTrace();
46         }
47         System.out.println("程序继续运行");
48         
49         try {
50             mt.test(30,0);
51         } catch (Exception e) {
52             // TODO 自动生成的 catch 块
53             //e.printStackTrace();
54             System.out.println("异常信息:"+e.getMessage());
55         }
56     }
57 }

技术分享

附相关思维导图:

技术分享

课堂所讲整理:异常

标签:

原文地址:http://www.cnblogs.com/hanazawalove/p/5272186.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!