异常
-
什么是异常
java程序在编译或者运行时发生的错误,叫做异常 -
异常的类型
JVM异常
java标准异常类:JDK提供的异常类。
自定义异常 -
异常的层次结构
-
Throwable类:是Java语言中所有错误或异常的超类
-
Error类:用于定义不指望程序能从其中回复过来的灾难性故障。Java中,对这种错误不进行处理。
-
Exception类:指一些可以被捕获且可能恢复的异常情况
- 编译时异常(checked)
在编译时,必须进行处理;如果不处理,则无法通过编译。
除了RuntimeException类及其子类,其他类都是编译时异常类。 - 运行时异常(unchecked)
Java编译器允许程序不对其进行处理,直接由运行时系统来处理。
RuntimeException及其子类都是运行时异常类
- 编译时异常(checked)
-
常见的编译时异常和运行时异常
-
常见的编译时异常:
ClassNotFoundException
FileNotFoundException
IOException
ParseException
SQLException
InterruptedException -
常见的运行时异常:
ArrayIndexOutOfBoundsException
StringIndexOutOfBoundsException
NullPointerException
ClassCastException
ArithmeticException
NumberFormatException
常见的异常:
- 算数异常类:ArithmeticExecption
- 空指针异常类型:NullPointerException
- 类型强制转换类型:ClassCastException
- 数组负下标异常:NegativeArrayException
- 数组下标越界异常:ArrayIndexOutOfBoundsException
- 违背安全原则异常:SecturityException
- 文件已结束异常:EOFException
- 文件未找到异常:FileNotFoundException
- 字符串转换为数字异常:NumberFormatException
- 操作数据库异常:SQLException
- 输入输出异常:IOException
- 方法未找到异常:NoSuchMethodException
- 下标越界异常:IndexOutOfBoundsExecption
- 系统异常:SystemException
- 参数不能小于0异常:ZeroException
- 非法参数异常:IllegalArgumentException
- 不支持的操作异常:UnsupportedOperationException
- 网络操作在主线程异常NetworkOnMainThreadException