Java常见异常
编译时异常
- ArithmeticException (出现异常的运算条件,比如除0)
ArrayIndexOutOfBoundsException(数组下标越界异常)
ArrayStoreException(数组元素类型匹配不正常)
ClassCastException(强制类型转换异常,常出现在将对象转换为不是实例的子类。类型转换只能从低级到高级)
IndexOfBoundsException(索引越界异常)
NullPointerException(空指针异常,程序中某个对象或变量的值为空引起)
NumberFormatException(数字格式转换异常)
StringIndexOutBounds(字符串索引越界异常)
UnsupportedOperationException(操作异常)
- ArithmeticException (出现异常的运算条件,比如除0)
运行时异常
- ClassNotFoundException(找不到制定类的异常:1.错误定义某个类,调用时没有写对类名;2.没有加载该数据库的驱动包)
NoSuchMethodException(请求的方法不存在,试图调用某类的某方法,而该类的定义中无该方法)
- ClassNotFoundException(找不到制定类的异常:1.错误定义某个类,调用时没有写对类名;2.没有加载该数据库的驱动包)
- 捕获异常
- 所有异常类型的子类异常也能被捕获
try{
语句1;
语句2;
}catch(异常类型A 变量B){
语句3;//处理异常的代码
}(语句5);
声明异常:throws
- 一个方法不处理它产生的异常,而是向上传递,谁调用这个方法,谁就处理异常
抛出异常:throw
throw new <class>;
- 自定义异常
- 可以节省内存空间,在大型项目中常用;
一般继承Exception类或其他异常类;
- 可以节省内存空间,在大型项目中常用;