① 用户输入出错
② 所需文件找不到
③ 运行时磁盘空间不够
④ 内存耗尽无法进行类的实例化
⑤ 算术运算错 (数的溢出,被零除…)
⑥ 数组下标越界
⑦ JVM崩溃
例 1.
int【】arr = 5,6,8,9;
System.out.print(arr[4]);//数组下标越界了
例2.
int x=100;
System.out.print(x/0);
出现被0除的情况,这是无法执行的运算,因而产生一个异常,该异常属于算术运算异常(Arithmetic Exception)。
异常处理包括两个步骤: (1)异常抛出 (2)异常捕获。
如果一个程序在运行时产生了错误,那么就会在错误发生的地方生成一个异常对象,并提交给Java运行时系统,这一过程称之为 异常抛出(throw)。
异常抛出后,Java运行时系统启动异常处理机制,寻找该异常的处理代码,找到后就把异常对象交给这个处理代码,这一过程称之为异常捕获。如果Java运行时系统找不到异常处理代码,就自己执行默认处理:从错误发生的地方终止程序,并将异常信息输出。
public static void main(String[] args){
try{ //可能会发生异常的语句 与catch连用
System.out.println(2/0);
} catch(ArithmeticException e){ //e是自己定义的名字
System.out.println("程序有误");
e.printStackTrace();//输出有异常的地方
}
}