• 1-16使用try-catch捕捉异常


    处理异常

    可以使用try…catch…处理异常,例如之前的程序可以使用try…catch…处理

    package com.monkey1024.exception;
    
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    
    public class ExceptionTest02 {
    
        public static void main(String[] args) {
             try {
                FileInputStream fis = new FileInputStream("d:/monkey1024.txt");
                //捕捉FileNotFoundException异常
            } catch (FileNotFoundException e) {//jvm会创建FileNotFoundException的对象,然后将e指向这个对象
                //如果try里面的代码没有报错,则不会执行catch里面的代码
                e.printStackTrace();//打印出异常信息
                String msg = e.getMessage();
                System.out.println(msg);
            }
            System.out.println("monkey1024.com");//catch后面的语句会正常执行
        }
    
    }
    

    可以捕捉多个异常,但是catch里面必须从小类型异常到大类型异常进行捕捉,先捕捉子后捕捉父,最多执行一个catch语句块里面的内容。

    package com.monkey1024.exception;
    
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    
    public class ExceptionTest02 {
    
        public static void main(String[] args) {
             try {
                FileInputStream fis = new FileInputStream("d:/monkey1024.txt");
                fis.read();
            } catch (FileNotFoundException e) {//捕捉FileNotFoundException异常
                e.printStackTrace();
            } catch (IOException e) {//捕捉IOException异常
                e.printStackTrace();
            } catch (Exception e) {//捕捉Exception异常
                e.printStackTrace();
            } 
        }
    
    }
    

    jdk7新特性
    jdk7新特性,可以将多个捕捉的异常放到一个catch里面

    package com.monkey1024.exception;
    
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    
    public class ExceptionTest03 {
    
        public static void main(String[] args) {
    
            try {
                System.out.println(1024 / 0);
                FileInputStream fis = new FileInputStream("d:/monkey1024.txt");
                //jdk7新特性,可以将多个异常放到一个catch里面
            } catch (FileNotFoundException | ArithmeticException e) {
                e.printStackTrace();
            } /*catch (ArithmeticException e){
                e.printStackTrace();
            }*/
        }
    
    }
    
  • 相关阅读:
    获取Activity中得到焦点的EditText
    SwipeRefreshLayout嵌套ScrollView包裹复杂头布局和RecyclerView
    摄像机识别图片中的手机号
    Glide 加载图片
    反射,元类
    类与实例
    多态
    sys模块理解补充
    python中os模块再回顾
    面向对象之封装
  • 原文地址:https://www.cnblogs.com/superfly123/p/10444239.html
Copyright © 2020-2023  润新知