其他分享
首页 > 其他分享> > Day26 - 异常机制

Day26 - 异常机制

作者:互联网

1. 什么是异常

异常指程序运行中出现的不期而至的各种状况,如:文件找不到、网络连接失败、非法参数等。

1.1 简单分类

三种类型:

引入了异常处理框架 -->

2. 异常体系结构

2.1 Error

2.2 Exception

Error和Exception的区别:

Error通常是灾难性的致命错误,是程序无法控制和处理的,当出现这些异常时,Java虚拟机(JVM)一般会选择终止线程;Exception通常情况下是可以被程序处理的,并且在程序中应该尽可能的去处理这些异常。

3. Java异常处理机制

4. 处理异常

4.1 捕获异常

example:

 public static void main(String[] args) {

        int a = 1;
        int b = 0;

        try{  //try监控区域
            System.out.println(a/b);
        }catch (Error e) {   
            System.out.println("Error");
        }catch (Exception e) {
            System.out.println("Exception");
        }catch(Throwable t){   //Throwable 可以捕获error和exception
            System.out.println("Throwable");
        }finally {   
            System.out.println("Finally");
        }

        //finally 可以不要finally, 关闭IO 内存等资源
    }

Idea快捷键: ctrl+alt+t 可选择代码块将statement包裹起来

4.2 主动抛出异常

5. 自定义异常

例:

//自定义异常类
public class MyException extends Exception{

    //传递数字>10 则抛出异常

    private int detail;

    public MyException(int a){
        this.detail = a;
    }

    //toString:异常的打印信息
    @Override
    public String toString() {
        return "MyException{" +
                "detail=" + detail +
                '}';
    }
}
------------------------------------------
public class Test {

    //可能会存在异常的方法

    static void test(int a) throws MyException {

        System.out.println("传递的参数为:" +a);
        if(a>10){
            throw new MyException(a);  //抛出
        }
        System.out.println("OK");
    }

    public static void main(String[] args) {
        try{
            test(11);
        }catch (MyException e){
            System.out.println("MyException=>"+e);
        }
    }
}

6. 实际应用中的经验总结

标签:Exception,处理,Day26,int,catch,机制,异常,public
来源: https://www.cnblogs.com/chiaraOnBoard/p/15569842.html