zoukankan      html  css  js  c++  java
  • 课堂所讲整理:异常

     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 }

    附相关思维导图:

  • 相关阅读:
    Linux根目录各个文件夹介绍及说明
    CentOS7 yum方式安装MySQL5.7
    spring-boot 启动图标修改-启动彩蛋
    Android 4.4从图库选择图片,获取图片路径并裁剪
    Android开发之获取相册照片和获取拍照照片二
    Android开发之获取相册照片和获取拍照照片
    httpclient 发送文件和字符串信息
    HttpURLConnection 发送 文件和字符串信息
    Android中使用HTTP服务
    android http json请求3种不同写法
  • 原文地址:https://www.cnblogs.com/hanazawalove/p/5272186.html
Copyright © 2011-2022 走看看