在java的lang包有 Throwable类,它是所有异常的父类或者间接父类。每个异常类型都是Throwable的子类。它有两个直接子类:Error和Exception。
Error类定义了那些通常情况下不希望被捕获的异常。它主要用于java运行时系统显示与运行时本身的错误有关或者编译期错误,如内存溢出。
Exception类是程序能够捕获的异常情况。它有子类RuntimeException,这个类是对程序运行时某些错误反应而产生的。一般这种异常不做任何处理。它和Error一起叫作未检查异常。如下:
| 异常名称 | 异常说明 |
|---|---|
| ArithmeticException | 算术异常 |
| ArrayStoreException | 数组元素与数组类型不同 |
| ClassCastException | 强制类型转换异常 |
| IllegalArgumentException | 调用非法参数异常 |
| IllegalPathStateException | 非法路径异常 |
| IllegalStateException | 非法状态或环境异常 |
| IndexOutOfBoundsException | 索引越界 |
| NullPointerException | 非法使用空引用 |
| SecurityException | 系统安全异常 |
| UndeclaredThrowableException | 未定义抛出异常 |
| UnsupportedOperationException | 操作异常 |
Exception中除了RuntimeException以为的异常都是检查异常,它们本身不是错误,但是在特定情况下会被看出错误。如下:
| 异常名称 | 异常说明 |
|---|---|
| ClassNotFoundException | 找不到相关类异常 |
| CloneNotSupportedException | 对象不能实现异常 |
| DataFormatException | 数据格式化异常 |
| InstantiationException | 创建抽象对象异常 |
| NoSuchFiledException | 请求内容不存在 |
| NoSuchMethodException | 请求方法不存在 |
Java异常处理详解
本文详细介绍了Java中的异常处理机制,包括Throwable类及其两个主要子类Error和Exception。文章列举了常见的运行时异常(如NullPointerException、IndexOutOfBoundsException等)及检查异常(如ClassNotFoundException、NoSuchMethodException等),并解释了它们之间的区别。

被折叠的 条评论
为什么被折叠?



