Java运行时异常
来源:互联网 发布:java程序员好找工作吗 编辑:程序博客网 时间:2024/06/05 21:55
首先看一下Java中Throwable,它有两个子类,Error和Exception。其中异常可以分为Checked Exception和UnChecked Exception两类。
所有RuntimeException类及其子类的实例被称为运行期异常,被归类为UnChecked Exception。其它,非RuntimeException类及其子类的异常则被归类为Checked Exception。
Checked异常
Checked异常又称为编译时异常,即在编译阶段被处理的异常。编译器会强制程序处理所有的Checked异常,也就是用try…catch显式的捕获并处理,因为Java认为这类异常都是可以被处理(修复)的。在Java API文档中,方法说明时,都会添加是否throw某个exception,这个exception就是Checked异常。如果没有try…catch这个异常,则编译出错,错误提示类似于“Unhandled exception type xxxxx”。
该类异常捕获的流程是:
执行try块中的代码出现异常,系统会自动生成一个异常对象,并将该异常对象提交给Java运行环境,这个就是异常抛出(throw)阶段;
当Java运行环境收到异常对象时,会寻找最近的能够处理该异常对象的catch块,找到之后把该异常对象交给catch块处理,这个就是异常捕获(catch)阶段。
Checked Exception不引起Android App Crash。
UnChecked异常
Runtime Exception,最常见的莫过于NullPointerException。UnChecked异常发生时,由于没有相应的try…catch处理该异常对象,所以Java运行环境将会终止,程序将退出,也就是我们所说的Crash。
理论上可以把这些异常catch住,但无法将所有的代码都加上try…catch,这样对代码的效率和可读性将是毁灭性的;另外UnChecked异常通常都是较为严重的异常,或者说已经破坏了运行环境的。比如内存地址,即使我们try…catch住了,也不能明确知道如何处理该异常,才能保证程序接下来的运行是正确的。
- java 异常-运行时异常
- java运行时异常
- java运行时异常
- Java运行时异常
- Java运行时异常
- Java运行时异常
- Java运行时异常
- java异常 运行时异常和非运行时异常
- Java转换异常为运行时异常
- Java运行时异常和一般异常
- java运行时异常和一般异常
- java 运行时异常和检查异常
- java运行时异常和检查异常
- java常见运行时异常
- java RuntimeException运行时异常
- Java中的运行时异常
- RuntimeException Java运行时异常
- java 运行时异常和非运行时异常
- matlab生成xml (将SynthText数据转成XML)
- #include<> 和 #include""的区别
- Unity粒子碰撞事件 ParticleCollisionEvent
- 解决通过intent.getStringData()获取文件,转成File,找不到文件的问题
- SpringBoot 进阶2-与 Mybatis实现SpringMVC Web项目
- Java运行时异常
- Delphi中String与PAnsiChar转换
- SDN控制器Floodlight源码学习(四)--控制器和交换机交互(2)
- Ubuntu 16 打开SSH服务
- 装饰者模式
- Neural Machine Translation and Sequence-to-sequence Models: A Tutorial
- 1020. Tree Traversals (25)
- delphi中的ParamStr
- kylin入门到实战:cube详述