异常 Exception
异常是指 程序在运行过程中发生了不可预料的错误,导致程序无法继续运行。
异常体系结构
Throwable (可抛出的)
/ \
Error(错误) Exception (异常)
/ \
CheckException RuntimeException(运行时异常,可以不处理)
(检查异常,必须要处理)
Error:表示非常严重的错误。程序员一般不可修复。
Exception :表示非严重的错误,可以通过异常捕获解决。
常见的异常:
java.util.InputMismatchException 输入不匹配异常
java.lang.ArithmeticException 算术异常
ArrayIndexOutOfBoundsException 数组下标越界
NullPointerException 尝试访问 null 对象成员
ClassNotFoundException 不能加载所需的类
IllegalArgumentException 方法接收到非法参数
ClassCastException 对象强制类型转换出错
NumberFormatException 数字格式转换异常,如把"abc"转换成数字
IndexOutOfBoundsException
StringIndexOutOfBoundsException
FileNotFoundException 文件未找到异常
IOException 输入输出流异常
SQLException
解决异常:
try{
//可能发生异常的代码块
}catch(Exception e){
//捕获异常后的处理代码块
}finally{
//不管有没有异常都会执行的代码块
}
注:一个try可以接多个catch块,多个catch块 先捕获子类再父类
如果main方法 有 Throws异常 ,则会将异常交给JVM处理。
**throws:声明异常**
写在方法后面,表示声明该方法有异常。谁调用谁处理。
throw: 手动抛出异常,本身就是一个异常,需要进行处理。
异常对象的方法
e.printStackTrace(); 打印栈轨迹
e.getMessage(); 异常的消息