Java基础之异常

java异常的体系结构
这里写图片描述
java异常的分类
首先是继承自Object的Throwable异常的父类。
最重要的两个子类是Error和Excrption
Error:错误,程序不能处理的错误。比如说VirtualMachineError虚拟机运行错误,ThreadDeath线程死亡,导致无法启动程序,这类错误对于程序来说是非常严重的,如果以法律来类比的话,Throwable是宪法,Error就是刑法。
Excrption:异常,异常会比Error严重程度轻一些,像是治安处罚法,一般来说异常出现是可以通过修改代码或者程序本身处理。
异常的分类:检查异常(非运行时异常)和非检查异常指的是RuntimeExcrption下的子类(又称运行时异常)和Error
检查异常和非检查异常的区别:
非检查异常可以通过捕获异常和抛出异常的方式处理,程序可以正常运行
而检查异常是指编译期必须处理的异常,必须解决才能继续运行程序

java异常处理机制
五大关键字
throws 声明抛出异常,在遇到当前方法不知道如何处理该异常是,应该有上一级调用者处理,改异常交给JVM处理。throws关键字一般跟在方法名后面使用。
throw 抛出异常,程序执行时会自动抛出异常,java提供了自行抛出异常的机制,使用throw跟在方法内部抛出异常
try…catch 捕获异常,其逻辑跟if语句相似,不知道那里可能会出现异常时,用业务逻辑代码放入try语句,将异常处理逻辑放入catch语句,这是java异常处理的语法结构。当try语句块中的业务逻辑代码出现异常时,java会产生一个异常对象交给java运行环境中(用throw抛出),java运行环境收到该对象,会寻找能够处理这个异常对象的catch语句块,如果找到交给catch语句执行,如果没有找到,Java环境终止,java程序随之退出。catch语句可以叠加多次使用。
finally 与try …catch连用,不管try语句和catch语句执不执行,finally语句都会执行,可以用其进行资源回收

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值