java的异常

Java的容错机制

异常和错误都有相同的父类Throwable(Java的容错机制的父类)

1异常 Exception

程序在运行过程中出现的非正常事件(例如:除数为0)

异常:是程序级别的非正常事件,我们可以处理异常

异常的父类是Exception

异常的分类:

受检异常:IOException FileNotFoundException 等等

非受检异常:

前者一旦发生异常必须处理异常,后者可以处理也可以不处理
处理异常的关键字:

1 try

容易出现异常的代码放在try块中

​ 在JDK1.7以前(1.0~6.0),不能单独使用,必须配合catch、finally一起使用

2 catch

抓住try块中出现的异常

一旦try块中出现了异常,后面的代码不会被执行,立马进入catch块

catch块职责:1抓住异常2处理异常
3 finally

​ 不管是否发生异常都会执行的代码块,用来释放对象占用的内存。或者说清理对象占用的内存

​ 场景:从控制台输入两个整数 ,如果除数为0处理异常 。最后释放对象占用的内存资源
finally在return之前执行
4 throw 抛出异常

​ 该关键字只能在方法体中定义,一旦抛出了异常,调用该方法的地方必须处理异常

​ 语法:

​ throw new 异常构造方法("");

​ 作用:抛出异常

5 throws

​ 该关键字只能在方法定义处使用,用于声明异常(该方法可能会发生异常)

​ 作用:声明异常

2错误 Error

程序运行过程中JVM运行出现了故障

特征:不是程序级别,而是JVM级别,我们无法处理错误

OutOfMemoryError
StackOverflowError :栈内存溢出错误
try…with…resource

是JDK1.7的产物,你不用关闭资源,只要把关闭的资源告诉我(JVM),JVM帮你自动关闭,弱化了finally(不用编写finally)

语法:

try(

​ 需要关闭的资源全部写在一对小括号中,JVM在运行的时候自动帮你创建finally,帮你执行资源的关闭

){

}catch(Exception e){

// 异常处理

}

3自定义异常

自己编写的异常叫做自定义异常。

很多软件公司都自己定义异常,好处:处理异常能加灵活

工作中的自定义异常有两种写法:1继承Exception类,2继承RuntimeException

异常小结:

1掌握5个关键字

2出现异常先抛出

3在最前沿处理异常

4出现异常一定要处理,catch块不能没有代码

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值