没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
深入理解深入理解java异常处理机制的原理和开发应用异常处理机制的原理和开发应用
Java异常处理机制在日常开发中应用频繁,本篇文章主要在基础的使用方法上,更进一步的,如何更加合理的使用异常机制,
希望可以对各位朋友能有所帮助。
Java异常处理机制其最主要的几个关键字:try、catch、finally、throw、throws,以及各种各样的Exception。本篇文章主要在基础的使用方
法上,介绍了如何更加合理的使用异常机制。
try-catch-finally
try-catch-finally块的用法比较简单,使用频次也最高。try块中包含可能出现异常的语句(当然这是人为决定的,try理论上可以包含任何
代码),catch块负责捕获可能出现的异常,finally负责执行必须执行的语句,这里的代码不论是否发生了异常,都会被执行。
针对这部分,因为很基础,所以就提几点比较关键的建议:
1、、当你在写try-catch语句的时候,脑子里是知道自己要去针对哪种异常进行处理的,不要只是以防万一,加了个catch(Exception
e),这是毫无意义的。并且,一个try块中可能有多个异常,对于每一类异常,要分别写一个catch进行捕获。
2、、针对可能出现异常的语句进行try-catch,大段代码的try-catch会非常不利于维护代码时定位异常可能发生的位置,对于肯定不
会发生异常的稳定的代码,不需要放在try块中。
3、、try-catch虽然在功能上,可以成为流程控制的工具,达到条件分支的效果。但相比于if-else语句,java的异常处理机制基于面向
对象的思想,使用过程中需要更多的时间与空间的开销,所以不要用异常机制去做基本的条件判断,只有在程序会因为异常而中断时进行捕获
和处理。
4、、finally块中永远不要写return语句,因为finally块中总是最后执行,他会改变预期在try和catch块中的返回值(举个例子,你在
catch中捕获了一个异常并抛出e,又在finally语句中return true,这样你抛出的异常就"消失"了,因为当前函数的执行结果已经从抛出异常 转变成
return true)。另外,在使用资源对象与流对象时,finally块必须对资源对象、流对象进行关闭。
Java异常体系结构异常体系结构
Java异常体系的基类是Throwable,它主要有两个子类:Error 和 Exception。其结构如下图:
上图中,Error是指程序无法处理的错误,多指系统内部比较严重的错误。大多数这类错误与开发人员无关,我们关注的主要是
Exception。
Exception主要分为两块:运行时异常运行时异常和非运行时异常非运行时异常。RuntimeException及其子类都称为运行时异常;除此之外, 所有Exception的
子类异常都是非运行时异常。
运行时异常多指程序逻辑上出现问题(也就是我们自己写代码逻辑出了问题),常见的错误包括 ClassCastException:类型转换异:类型转换异
常、常、NullPointerException:空指针异常、:空指针异常、IndexOutOfBoundsException:越界异常:越界异常...这些异常都可以通过程序逻辑处理来避免(比如加一个
判断语句判断是否越界、是否属于某类型、是否为null),所以编译器把这些工作交给了程序员来把控,在编译期即使手动抛出了一个运行时异常
资源评论
weixin_38637272
- 粉丝: 4
- 资源: 936
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功