JAVA异常
1、异常概念
(1)错误在我们编写程序的过程中会经常发生,包括编译期间和运行期间的错误。
(2)在编译期间出现的错误有编译器帮助我们一起修正,然而运行期间的错误便不是编译器力所能及了,并且运行期间的错误往往是难以预料的。
(3)当程序在运行期间出现了异常,如果置之不理,程序可能会不正常运行、强制中断运行、造成用户数据丢失、资源无法正常释放、直接导致系统崩溃,显然这不是我们希望看到的结果。
2、异常分类
(1)在程序开发中,异常指不期而至的各种状况。它是一个事件,当发生在程序运行期间时,会干扰正常的指令流程。
(2)在Java中,通过Throwable及其子类描述各种不同的异常类型。
3、异常处理
(1)抛出异常
- 当一个方法出现错误引发异常时,方法创建异常对象并交付运行时系统。
- 异常对象中包含了异常类型和异常出现时的程序状态等异常信息。
- 运行时系统负责寻找处置异常的代码并执行。
(2)捕获异常 - 在方法抛出异常之后,运行时系统将转为寻找合适的异常处理器。
- 运行时系统从发生异常的方法开始,依次回查调用栈中的方法,当异常处理器所能处理的异常类型与方法抛出的异常类型相符时,即为合适的异常处理器。
- 当运行时系统遍历调用栈而未找到合适的异常处理器,则运行时系统终止。同时,意味着Java程序的终止。
- 对于运行时异常、错误或可查异常,Java技术所要求的异常处理方式有所不同。
- 总体来说,Java规定:对于可查异常必须捕捉、或者声明抛出。允许忽略不可查的RuntimeException和Error。
- 简单地说,异常总是先被抛出,后被捕捉的 。
(3)异常处理
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。