异常 Exception
运行期出现的错误,而不是javac 编译出现的错误
example
import java.io.*;
public class Test{
public static void main(String args[]){
int [] arr = {1,2,3};//数组
System.out.println(arr[2]);
try{
System.out.println(2/0);//出现异常会生成一个异常类对象,该对象封装了异常事件的信息并被提交到运行时系统,这个过程就是抛出异常
} catch (ArithmeticException ae) {//当Java运行时系统接收到异常对象时,会寻找能处理这一异常的代码并把当前异常对象交给其处理,这一过程就是捕获
//ae就是一个形参
System.out.println("系统正在维护,请于管理员联系");
ae.printStackTrace();//打印错误的堆栈信息
}
}
}
异常的分类
Error:无法处理的异常,如动态链接失败,虚拟机错误
Exception下
RuntimeException:可以不处理的异常
IOException等:必须要处理的异常