java 異常(二)
来源:互联网 发布:孙兴慜数据 编辑:程序博客网 时间:2024/04/28 22:30
处理异常机制
在 Java 应用程序中,异常处理机制为:抛出异常,捕捉异常。
抛出异常:当一个方法出现错误引发异常时,方法创建异常对象并交付运行时系统,异常对象中包含了异常类型和异常出现时的程序状态等异常信息。运行时系统负责寻找处置异常的代码并执行。
捕获异常:在方法抛出异常之后,运行时系统将转为寻找合适的异常处理器(exception handler)。潜在的异常处理器是异常发生时依次存留在调用栈中的方法的集合。当异常处理器所能处理的异常类型与方法抛出的异常类型相符时,即为合适 的异常处理器。运行时系统从发生异常的方法开始,依次回查调用栈中的方法,直至找到含有合适异常处理器的方法并执行。当运行时系统遍历调用栈而未找到合适 的异常处理器,则运行时系统终止。同时,意味着Java程序的终止。
由于运行时异常的不可查性,为了更合理、更容易地实现应用程序,Java规定,运行时异常将由Java运行时系统自动抛出,允许应用程序忽略运行时异常。
对于所有的可查异常,Java规定:一个方法必须捕捉,或者声明抛出方法之外。也就是说,当一个方法选择不捕捉可查异常时,它必须声明将抛出异常。
能够捕捉异常的方法,需要提供相符类型的异常处理器。所捕捉的异常,可能是由于自身语句所引发并抛出的异常,也可能是由某个调用的方法或者Java运行时 系统等抛出的异常。也就是说,一个方法所能捕捉的异常,一定是Java代码在某处所抛出的异常。简单地说,异常总是先被抛出,后被捕捉的。
任何Java代码都可以抛出异常,如:自己编写的代码、来自Java开发环境包中代码,或者Java运行时系统。无论是谁,都可以通过Java的throw语句抛出异常。
从方法中抛出的任何异常都必须使用throws子句。
捕捉异常通过try-catch语句或者try-catch-finally语句实现。
总体来说,Java规定:对于可查异常必须捕捉、或者声明抛出。允许忽略不可查的RuntimeException和Error。
- java 異常(二)
- Java笔试面试题二(常考问答)
- Java基础常问问题 二
- Java多线程常问问题(二)
- wget 最常使用方法(二)
- 我常上的网站(二)
- 常用用图像处理算法(二)
- Unity常用常找(二)
- 面试专题-----计算机网络常考(二)
- Python 新手常犯错误(二)
- java常犯错误集锦(一直更新)
- java面试常遇到的(2)
- java常见机试题目(1)
- 管理者常犯的十个毛病(二)
- 初学C++常遇到的问题(二)
- C++笔试总结-面试笔试常考题型(二)
- Android笔试面试题二(常考问答)
- C语言常考基础考点(二)
- 关于<a>标签的 的target属性
- 黑马程序员——Java语言基础下篇
- Matlab 文件读写(I/O)和字符串操作常用命令
- 栈的实现
- FoodsMenu新出美食軸功能手機超炫Food
- java 異常(二)
- OJ循环——迭代法求方程的根
- java 读取properties文件中的属性
- 史上最全系列之开发环境搭建之DEBUG
- 十进制转化为二进制
- ios 小知识
- 1501091229-蓝桥杯-基础练习 01字串
- 如何运营一个团队
- adb使用方法