Java异常处理细节
来源:互联网 发布:傲剑金蛇升级数据大全 编辑:程序博客网 时间:2024/05/22 05:23
发现错误的理想时机是在编译阶段,但编译阶段并不能找出所有错误,余下的问题必须在运行期间解决,异常处理机制的左右就在于此,提高了代码的健壮性。
基本异常:是阻止当前方法或者作用域继续执行的问题。当前环境无法处理错误,你所做的就是从中跳出,把问题提交上一环境。
异常参数:所有标准异常类都有两个构造器:一个是默认构造器,另一个是接受字符串作为参数的构造器。例如:throw new NullPointerException(“t = null”);此处其实新建一个异常类。
捕获异常:try块提供一个监控区域
异常处理程序:catch块给出异常处理程序
异常处理模型: 终止模型,假设错误非常关键,程序无法返回继续执行。
恢复模型,异常处理程序的工作是修正错误,然后重现尝试调用出问题的方法
e.printStackTrace()打印方法调用出到异常抛出出,直接输出到标准错误流,e.printStackTrace(System.out)输出到标准输出流。
Java标准异常:Throwable表示任何可以被当做异常抛出的类,其对象可以分为两种类型:Error用来表示编译时和系统错误,Exception是可以被抛出的基本类型
运行时异常都是继承与RuntimeException,是不用检查的异常,这些异常属于错误,将被自动捕获。
RuntimeException代表编程错误:
1. 无法预料的错误
2. 应该在代码中作为程序员检查的错误
对于一些代码,可能会希望无论try中事后有异常抛出,他们都能得到执行。Finally子句可以实现这一意图。对于没有垃圾回收和析构函数的自动调用机制语言来说,finally非常重要,它使得程序员保证无论块中发生什么,内存都能够得到释放,finally中的语句总会被执行,所以无论是return在finally之前或者之后,finally中的语句都会被执行。
异常丢失:finally{return;}在finally中返回会丢失异常数据,同时在finally中抛出异常也会丢失数据
子类只能抛出在基类中声明的异常
异常匹配,抛出异常时系统会按照代码书写顺序查出最近的处理顺序,找到以后认为异常已经得到处理不再继续查找。查找的时候并不要求抛出的异常同处理程序的声明完全匹配,派生类对象也可以匹配其基类处理程序。
- Java异常处理细节
- java异常:try...catch处理过程机制的细节
- java异常的细节
- Java中异常的细节
- Java异常 异常的一些细节
- C++异常处理机制小细节
- Spring Cloud Zuul中异常处理细节
- Java核心基础之容易被忽视的细节问题——异常处理
- java组件的细节处理
- 【java】java异常处理
- java异常和异常处理
- Java 异常及异常处理
- java异常与异常处理
- Java异常处理-----自定义异常
- Java异常与异常处理
- java异常及异常处理
- Java 异常与异常处理
- Java异常与异常处理
- Java获取客户端IP
- Java设计模式—组合模式
- 列车调度(PAT)
- ASIS CTF - 三个魔法Web关WriteUp
- HDU5869 Different GCD Subarray Query(线段树&&离线处理)
- Java异常处理细节
- Java--Connection
- HDU 5876 Sparse Graph2016 ACM/ICPC Asia Regional Dalian Online 1009
- Java SynchronizedMap ConcurrentMap ConcurrentHashMap
- 我的selenium日记2
- Android基础知识-Activity
- talend中变量的定义
- 实训阶段总结(五)
- CSS居中和多列布局