Throwable
异常分为Error(错误)和Exception(异常),我们这里主要所说的Exception异常类,Error错误我们就不做讨论;
Error:错误
Exception:异常:处理之后能正常运行
- 确定会发生异常的情况:
Checked异常:提前处理 - 不确定发生异常的情况:
运行期异常:(RuntimeException),遇到了在解决
常见的异常类型:
- 算术异常:ArithmeticException
- 空指针异常:NullPointerException
- 数组越界异常:ArraysIndexOutOfBoundsException
- 索引越界异常:IndexOutOfBoundsException
- 类型转换异常:ClassCastException
- 输入类型不匹配:InputMischmatException
- 输入输出异常:IOException
- SQL异常:SQLException
- 非法参数异常:IllegalArgumentException
- 数字格式化异常:NumberFormatException
- 未找到类的异常:ClassNotFoundException
异常处理:
try{
又可能发生问题的代码块;
}catch(有可能发生的异常类型 e){
对异常的查看等操作
}finally{
必定会运行的代码
}
throw和throws
- throw:抛出,手动产生异常
必须在条件语句内 - throws:声明该方法未处理的异常
RuntimeException:不一定要处理
Exception:一定要处理
自定义异常类的过程:
继承某个已知的异常类
有参构造super(message)调用父类的有参构造