JAVA_异常文本处理

异常类的继承关系

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BsxpHGs4-1595748084594)(…/img/4.png)]
所有的异常都继承与Throwable接口
Error描述的是系统内部错误,是由java虚拟机抛出来的,一旦发生你什么事情都做不了
Exception 异常是由程序或者外部环境造成的
其中的IOException异常时由于读到文件结尾、打开一个不存在的文件等等引起的异常
ClassNotFount异常是由于试图运行一个不存在的类,比如我们没有下载jdbc驱动的包,然后试图启动jdbc驱动
RuntimeException异常是描述的你程序设计错误,比如拿什么东西除以0等等,是可以通过程序员修改源文件改正的

必检异常和免检异常

Error和RuntimeException都是免检异常

免检异常指的是:比如我们在main方法中写了1/0或者null.这样的语句,我们不需要用try catch捕获异常或者抛出异常,应为这样的事情太多了
除了Error和RuntimeException都是必检异常IOException、ClassNotFount
指的是:必须捕获或者抛出异常

声明、抛出和捕获异常

  1. 声明:就是在方法上指明该方法可能抛出的异常
 public static void main(String[] args) throws IOException {
        fun();
}
  1. 抛出异常:通过throw语句
public  static  void fun () throws IOException {
    throw  new IOException();
}
  1. 捕获异常
try {
    fun();
}
catch (IOException e){

}

finally语句

无论是否捕获异常都会调用的语句块
就算在catch中使用了return语句都会调用–一般用作资源释放
但是在catch调用了System.exit(0);就不会调用了

重新抛出异常和链式异常

当我们捕获到异常我们可以不写处理代码,然后在抛出这个异常交给上级处理

public static void main(String[] args) throws Exception {
    try {
        fun();
    }
    catch (IOException e){
        throw e;
    }
}

当我们捕获到异常我们可以不写处理代码,然后在抛出另一个异常交给上级处理
这时候上级会处理或打印出两个异常信息

public static void main(String[] args) throws Exception {
    try {
        fun();
    }
    catch (IOException e){
        throw  new Exception();
    }
}

定义异常类—继承与Exception或其子类即可

throw new Exception();
}
}

# 定义异常类---继承与Exception或其子类即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值