Throwable
一、Error :
- Error即错误,这类问题由Java虚拟机抛出,一般都是很严重的,比如说系统奔溃,内存溢出,加载动态链接库失败,栈溢出(StackOverFlow)。
- 这类问题我们在应用程序的层面是无法处理和解决的。常见的如: StackOverflowError, OutOfMemory(OOM)
二、Exception
运行时异常:RuntimeException
- RuntimeException类及其子类都是运行时异常。虽然此类程序可以通过编译;
但存在安全隐患; - 为了避免这种情况的发生建议提高代码的健壮性;在必要时刻也可采用
try catch 处理
常见运行时异常
-
IndexOutOfBoundsException 数组下标越界,常见于操作数组对象时发生;
-
NullPointerException 空指针异常:调用了未经初始化的对象或者是不存在的对象
-
ClassCastException 数据类型转换异常,
-
ArithmeticException 算术异常,
-
NumberFormatException字符串转换为数字异常:字符型数据中包含非数字型字符
-
IllegalArgumentException 参数传递错误
编译时异常:除了运行异常RuntimeException
这类异常必须处理,否则不能通过编译
- IOException 输入输出异常;
- ClassNotFoundException 指定的类找不到:类的名称和路径加载错误;通常都是程序试图通过字符串来加载某个类时可能引发异常。
- FileNotFoundException文件未找到异常
注:
1. try…catch…finally ,除去退出虚拟机finally都会执行
2. System.exit(0);和出现错误导致的虚拟机停止运行
3. try可以单独存在;禁止有空的catch块