捕获和抛出异常

image

Test01

package com.exception;

public class Test01 {
    public static void main(String[] args) {
/*        int a = 1;
        int b = 0;*/

        try {
            new Test01().test(1,0);
        } catch (ArithmeticException e) {
            throw new RuntimeException(e);
        }


/*        //假设要捕获多个异常:从小到大!
        try {  //try监控区域
            if (b==0){
                throw new ArithmeticException();   // throw 主动抛出异常
            }
            //new Test().a();
            System.out.println(a/b);
        }catch (Error e1){  //捕获异常    catch(想要捕获的异常类型!)
            System.out.println("Error");
        } catch (Exception e2){
            System.out.println("Exception");
        } catch (Throwable e3){
            System.out.println("Throwable");
        }

        finally {  //处理善后工作
            System.out.println("finally");
        }
        //finally 可以不要finally, IO,资源,关闭!*/
    }

/*    public void a(){
        b();
    };
    public void b(){
        a();
    };*/

    //假设这方法中,处理不了这个异常,方法上抛出异常
    public void test(int a,int b)throws ArithmeticException{
        if (b==0){
            throw new ArithmeticException();   // throw 主动抛出异常,一般在方法中使用
        }
        System.out.println(a/b);
    }


}

Test02

package com.exception;

public class Test02 {
    public static void main(String[] args) {
        int a = 1;
        int b = 0;

        //  快捷键:Ctrl + Alt + T
       /* try {
            System.out.println(a/b);
        } catch (Exception e) {
            throw new RuntimeException(e);
        } finally {
        }*/

        try {
            System.out.println(a/b);
        } catch (Exception e) {
            e.printStackTrace();//打印错误的栈信息
        } finally {
        }
    }
}

posted @ 2026-03-12 23:13  果子同志  阅读(11)  评论(0)    收藏  举报