常见的异常类包括:
NullPointerException(空指针异常):
例如:
1:使用了未初始化的变量,对象 2:接口类型的对象没有用具体的类初始化
SQLException:(数据库相关的异常):
例如:
1:SQL语句语法错误 2:用户名或密码错误 3:数据源配置错误 4:对已经关闭的资源执行查询
IndexOutOfBoundsException(下标越界异常):
例如:
1:要访问的值超出了数组下标的范围 2:要访问的数组索引为负值时
IllegalArgumentException(非法参数异常):
例如:
1:目标字节码版本不正确 2:传入的参数不正确或者正确但不属于正确的范围
IllegalStateException(非法状态异常):
例如:
1:spring的单元测试依赖的版本问题 2:对象已经被销毁依然持续访问
ClassCastException(类型转换异常):
例如:
1:父类的引用指向类型不是子类对象的时候 2:将一个对象强制转化为不兼容的对象 3:使用反射方法尝试将一个对象强制转换为不兼容的类型时
ArithmeticException(算术异常):
例如:
1:数学运算中被除数为0 2:求模运算中除数为0
FileNotFoundException(文件未找到异常):
例如:
1:打开一个不存在的文件 2:访问无法被访问的文件 3:在不存在的目录下创建文件
IOException(输入输出异常):
例如:网络连接中断或无法连接,读取或写入文件时发生错误,试图对已关闭的流进行操作
InterruptedException(中断异常):
例如:
1:网络连接、IO设备故障 2:对受保护没有权限的文件进行操作时 3:当读取的文件、目录不存在或者创建一个已经存在的目录时: 4:对处于阻塞/睡眠/等待状态的线程调用了它的interrupt方法:
NoSuchMethodException:(无匹配方法)
例如:
1:当访问的方法不存在时,当程序在调用类的 getMethod() 方法 2:传递的方法名字符串与类中定义的方法名不匹配时 3:当程序无法找到请求的构造函数时
ArrayStoreException:(对象类型存储错误异常)
例如:
将整数类型的数据存储到String/Object等其他类型的数组中
NumberFormatException(数字转换异常):
例如:
我们使用java提供的Integer.parseInt(s)方法将字符串转化为数字时,如果该字符串包含除数字以外的其他任何字符就会抛出该异常