Java基础(7)-异常处理

时间:2024-10-18 16:04:50

异常处理

异常继承层次

Throwable
    |-Error
        致命的错误无法处理
    |-Exception
        |-IOException
            系统资源读取失败等错误
        |-RuntimeException(未检异常)
            代码程序自身导致的异常

异常类的创建

    public class MyException extends Exception{

        public MyException(String msg){
            super(msg);
        }
    }

方法可能出现异常时的处理

使用throws 抛出

本身不处理这个异常可以使用throws抛出 交给调用者处理这个问题,但该方法一旦抛出异常不会再往下执行

使用try catch 捕获并处理

出现异常后跳到catch代码块,程序能继续往下执行

    //如果本身不处理这个异常可以使用throws抛出 交给调用者处理这个问题
    public static void main(String[] args) throws MyException {
        //捕获这个异常并且进行处理,程序可以继续往下执行
        try{
            throw new MyException("Test");
        }catch(Exception e){
            System.out.println(e.getMessage());
        }finally{
            System.out.println("异常处理完跳到这里");
        }

        for(int i = 0;i<10;i++){
            if(i==5) throw new MyException("throw");
            System.out.println(i);
        }
        //该行得不到运行
        System.out.println("run");
    }