异常机制

异常机制

异常是指程序运行中出现的不期而至的各种状况,如文件找不到了,非法参数等

异常发生在程序运行期间,影响了程序的正常执行流程。exception

异常分为两大类:Error和Exception,java给出了一些异常的基类

异常处理机制

抛出异常

捕获异常

异常处理五个关键字:try,catch,finally。 throw,throws

package exception;

public class Demo1 {
    public static void main(String[] args) {
        new Demo1().minus(1,0);
        try {
            new Demo1().a();
        }catch (Throwable e){
            System.exit(1);//程序退出语句
            System.out.println(e);
        }
    }

    public int minus(int a,int b){
        try {//监控区域,若发现异常则跳过异常语句直接执行catch代码块中语句
            System.out.println(a/b);
            return a/b;
        }catch (Exception e){//(想要捕获的异常类型) 捕获异常
            System.out.println(e);//对异常进行处理,或打印一些信息
            return 0;
        }catch (Throwable throwable){//可以写多个catch,成成递进
            System.out.println(throwable);
        }
        finally {//处理善后工作,即使有return,finally也会被执行
            System.out.println("finally");
        }
        return a;
    }
    public void a(){b();}
    public void b(){a();}
}

自定义异常

package exception;

public class MyException extends Exception{
    private int test;
    public MyException(){
        System.out.println("OK!");
    }
    public MyException(int a){
        this.test = a;
        System.out.println(a + "ok");
    }

    @Override
    public String toString() {
        return "MyException{" + test + '}';
    }
}

自定义异常需要继承异常类,啥异常类都可,一般定义较高级类,可自定义一些自己处理异常的方法,通过toString()方法显示消息

package exception;

public class Demo2 {
    public static void main(String[] args) {
        try {
            new Demo2().A(11);
        } catch (MyException e) {
            System.out.println(e);
        }
    }

    public void A(int a) throws MyException {
        if (a>10){
            throw new MyException(a);
        }else
            System.out.println(a);
    }
}

posted @ 2023-01-03 19:45  小国哥哥  阅读(24)  评论(0)    收藏  举报