课堂所讲整理:异常
Posted 柒寒
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了课堂所讲整理:异常相关的知识,希望对你有一定的参考价值。
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 }
附相关思维导图:
以上是关于课堂所讲整理:异常的主要内容,如果未能解决你的问题,请参考以下文章