「Java基础」七、异常

七、异常

Throwable----异常最大类

1、异常Exception(可以修改)---可以解决

​ a.运行时异常

​ b.非运行时异常

2、错误Error(不可以修改)---无法解决

1 - 非运行时异常

1 - 1 捕获异常对象

对于方法中返回值的情况,同样会返回finally中的返回值

try{
    //可能发生异常的代码
}catch(Exception e){
    //处理方式(将异常打印出来)
    e.printStackTrace();
}finally{
    //无论有没有发生异常都会执行到的代码
}

1 - 2 抛出异常(throws)

谁运行有异常的方法,则将异常抛给谁-----虚拟机

方法上抛出

1 - 3 自定义异常

public class Test {
    public static void main(String[] args){
        int a=new Scanner(System.in).nextInt();
        if (a==0){
            throw new ArrayIndexOutOfBoundsException();
        }else{
            try {
                throw new MyException("a不等于0");
            } catch (MyException e) {
                e.printStackTrace();
            }
        }

    }

}

class MyException extends Exception{
    private String message;
    public MyException(String message){
        this.message=message;
    }

    @Override
    public void printStackTrace() {
        System.out.println("my Exception 异常轨迹信息: "+message);
    }
}
posted @ 2021-07-02 23:20  CarryBircks  阅读(56)  评论(0)    收藏  举报