Java异常类解析
来源:互联网 发布:zip解压软件下载mac版 编辑:程序博客网 时间:2024/05/29 02:03
1 层次结构
Java异常层次结构如下图所示,所有的异常类都是从Throwable继承而来,下一层则分为两个结构,Error和Exception。
Throwable -|<---Error -|<---VirtualMachineError -|<---OutOfMemoryError | | |<---StackOverflowError | | |<---UnknownError | | | |<---IOError | |<---AWTError | |<---ThreadDeath | |<---Exception -|<---RuntimeException -|<---IndexOutOfBoundsException | |<---NullPointerException | |<---IllegalArgumentException | |<---ArithmeticException | |<---ClassCastException | |<---ConcurrentModificationException | |<---EmptyStackException | |<---NoSuchElementException | |<---BufferOverflowException | |<---UnknownTypeException | |<---ClassNotFoundException |<---IOException |<---SAXException |<---SQLException |<---InterruptedException |<---TimeoutException |<---llegalClassFormatException |<---DataFormatException |<---AWTException
2 error异常和exception异常
- Error类层次描述了Java运行时系统的内部错误和资源耗尽错误,在java的虚拟机中发生,用户无需在程序中捕捉或者抛出,属于unchecked exception。
- Exception类异常主要分为两大类:一般异常、RuntimeException。其中RuntimeException属于unchecked exception,一般异常属于checked exception。
3 checked exception和unchecked exception
Java语言规范对这两个定义十分简单,将派生于Error或者RuntimeException的异常称为unchecked异常,所有其他的异常成为checked异常。
checked exception:一般是指程序不能直接控制的外界情况,是指在编译的时候就需要检查的一类exception,用户程序中必须采用try catch机制处理或者通过throws交由调用者来处理。
unchecked exception:是指那些不需要在编译的时候就要处理的一类异常。在java体系里,所有的Error以及RuntimeException及其子类都是unchecked异常。
4 为什么要对unchecked异常和checked异常进行区分?
编译器将检查是否为所有的checked exception提供了异常处理机制,比如说我们使用Class.forName()来查找给定的字符串的class对象的时候,如果没有为这个方法提供异常处理,编译是无法通过的。
5 我们应该对哪些异常进行声明?
Java规范中并没有对unchecked exception是否抛出进行限制,unchecked exception要么是可以避免的(Runtime Exception),要么是不可控制的。
0 0
- Java异常类解析
- java 中的异常解析
- JAVA常见异常解析
- Java中的异常解析
- java 异常信息解析
- JAVA常见异常解析
- JAVA常见异常解析
- java异常解析
- JAVA异常解析
- JAVA常见异常解析
- java常用类解析七:java异常机制、异常栈、异常处理方式、异常链、异常丢失
- java常用类解析七:java异常机制、异常栈、异常处理方式、异常链、异常丢失
- java常用类解析七:java异常机制、异常栈、异常处理方式、异常链、异常丢失
- java异常解析以及自定义异常实例
- java深入浅出解析异常机制
- java.util.ConcurrentModificationException 异常解析
- 解析Java异常处理机制
- java异常分类和解析
- 原博文地址
- hibernate系列(1)之hibernate基本注解(全)
- dfs。。状态压缩dp poj3411
- Perfect Squares
- java并发编程中CountDownLatch和CyclicBarrier的使用
- Java异常类解析
- 喵喵喵
- VS2012创建C++项目失败,解决方法
- Java中的String,StringBuffer,StringBuilder区别
- 努力到感动自己,拼搏到无能为力
- Python入门笔记
- Intelligent Factorial Factorization LightOJ
- 剑指offer-4.重建二叉树
- 爬虫-分析Ajax