一、异常的基本概念
=========
-
异常事件改变程序流程;
-
当一个异常事件发生时,一个异常被抛出;
-
响应处理异常的代码被称为exception handler;
-
exception handler捕获异常;
-
异常处理能让你集中精力在一个地方解决问题,然后将处理错误的代码分开来放在另一个地方。
二、捕获异常
======
-
设置一个try/catch的代码块;
-
如果try块内的任何代码抛出了由catch子句指定的异常,则
a. 程序跳过try块中的其他代码;
b. 程序执行catch从句中的处理器代码。
-
如try块内没有抛出异常,直接跳过catch从句内容。
-
如try块内抛出的异常没有在catch从句中指定, 则该方法会立即退出。
三、处理异常
=======
1.如何控制try的范围:根据操作的连动性和相关性,如果前面的程序代码块抛出的错误影响了后面程序代码的运行,那么这个我们就说这两个程序代码存在关联,应该放在同一个try中。
对已经查出来的例外,有throw(消极)和try catch(积极)两种处理方法。
对于try catch放在能够很好地处理例外的位置(即放在具备对例外进行处理的能力的位置)。如果没有处理能力就继续上抛。
当我们自己定义一个例外类的时候必须使其继承excepiton或者RuntimeException。
- 对子类方法抛出的异常不能超出父类方法throws指令的范围。如父类方法不抛出任何异常,在子类方法中必须捕捉每一个“已检查异常”。
四、捕捉多个异常
========
-
每个异常类型使用一个catch从句;
-
如前面catch从句捕获异常,将直接跳过后面catch从句内容;
-
建议按异常类型的子类->超类的顺序排列catch从句的先后顺序。
五、finally 声明
============
无论是否捕获异常,都会执行finally从句中的代码;
例子:
finally{ con.close();}
六、 异常调用栈
========
-
哪个方法调用的代码发生异常,返回到调用方法的地方;
-
main方法调用的代码发生异常,返回到虚拟机。
七、 异常层次
=======
答:1) 起源于Error的类代表不常用的环境(通常是硬件层面);
-
应用程序不能够从Error中恢复正常;
-
所有的Java异常都起源于Exception;
-
RuntimeExcepiton也称为未检查异常;
-
未检查异常无须捕获;
-
其它异常,也称为检查异常,必须处理
Object
↑
Throwable
↑
|ˉˉˉˉˉˉˉˉ|
Error Exception
| ↑
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!**
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!