JAVAEE第十四篇 异常Exception

一 异常的组织结构

在这里插入图片描述
顶级父类:Throwable顶级父类有getMessage方法,用来输出错误信息,除此之外,Throwable还会输出异常类的位置等信息.
Error:代表的JVM本身错误,常见的是内存不足,程序员无法改变.
Exception:其中IOException是编译期异常,RuntimeException是运行期异常,编译期的异常必须处理,运行期的异常可以选择不处理.

二 异常的五大关键字(throw try cath throws finall)

  • throw:用来抛出异常
    throw new FileNotFoundException("文件不存在");
    
  • try cath:用来捕获并处理异常
    try {
    //执行语句
    }catch(FileNotFoundException e) {
    //捕获到异常的处理
    }
    
  • throws:用来声明异常,当方式异常的时候,会输出异常,程序停止,并没有对异常进行处理
        public static void main(String[] args) throws FileNotFoundException{
            read("b.txt");
        }
        public static void read(String path) throws FileNotFoundException {
            if (!path.equals("a.txt")) {//如果不是 a.txt这个文件
                // 我假设  如果不是 a.txt 认为 该文件不存在 是一个错误 也就是异常  throw
                throw new FileNotFoundException("文件不存在");
            }
        }
    
    • finally: 不管是否异常都会输出
    public class ThrowDemo {
    public static void main(String[] args) {
        try {
            read("b.txt");
        }catch (FileNotFoundException e){
            System.out.println("捕获到异常的处理");
        }finally {
            System.out.println("不管是否捕获到异常都会输出!");
        }
    }
    /*
     *抛出异常的时候需要用throws进行声明
     */
    public static void read(String path) throws FileNotFoundException {
        if (!path.equals("a.txt")) {
            // 假设如果不满足条件,就跑出异常
            throw new FileNotFoundException("文件不存在");
        }
    }
    
    • 自定义异常类需要继承Exception类,一般都需要写默认和参数是String的两个构造
     class exceptionDemo extends Exception{
            exceptionDemo(){};
            exceptionDemo(String name){
                super(name);//调用父类Exception的构造,Exception再调用顶级父类Throwable的构造,赋值给Throwable的message属性
            }
        }
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值