Java异常总结

为什么要异常处理?

  1. 程序运行时发生的一些错误不足以让程序终端,此时应抛出异常然后执行其他命令
  2. 让用户保存数据,最终以妥善的方式终止程序

 

层次结构

所有异常继承与Throwable类

Error类属于Java运行时系统的内部错误和资源耗尽错误

RuntimeException是程序错误导致的异常,如类型转换数组越界等

  • 错误的类型转会
  • 数组访问越界
  • 访问null指针

OtherException是程序本身没有问题但由于像IO错误这类导致的其他异常,如文件不存在等

  • 试图在文件尾部后面读取数据
  • 试图打开不存在的文件
  • 试图根据字符串查找Class对象而该类不存在

 

抛出异常

Error类与RuntimeException类的异常称为非受查异常,其他称为受查异常

  • 需要抛出throws受查异常或try-catch去捕获所有受查异常,如果没有这么做,编译器会发出错误信息
  • 而RuntimeException是在写程序时应尽量避免的错误

 

异常链

可以在catch语句中抛出新的异常,这样做是为了改变异常的类型,添加具体的信息然后交给上层处理

 

finally结构

try结构中有return,而finally中没有,那么当try执行return语句时会去执行完finally子句然后再返回

try结构中有return,而finally中也有,那么finally会覆盖try中的return结果

 

全部评论

相关推荐

07-23 12:04
门头沟学院 Java
现在是很缺人吗
码农索隆:缺分母,不缺分子,这样好作为炫耀的资本
点赞 评论 收藏
分享
07-11 22:27
中南大学 Java
程序员牛肉:学历的话没问题。但是没问题的也就只有学历了。 其实你的整体架构是正确的,博客接着干。但是项目有点过于简单了。从后端的角度上讲,你这也就是刚入门的水平,所以肯定约面试够呛。 如果你要应聘后端岗位,那你第一个项目竟然是仿写操作系统。这个你要面试官咋问你。你一定要记住一点,你简历上写的所有的东西,都是为了证明你有能力胜任当前的岗位,而不是为了证明你自己会什么。 如果你只是浅浅的做几个项目,描述也都是烂大街。技术点也都是各种混水类的配置类需求,那你就不要幻想自己能走多远。一定要保持思考,保持学习。
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务