标签:
什么是异常?
异常,不正常也。Exception是Exception event的缩写,因此异常是一个事件,该事件发生在程序运行时。
异常会影响程序的连续性,使程序中断。
在Java中,一切皆对象,所以要定义异常,也需要使用对象。异常对象里封装了异常类型和程序发生异常时的状态。
我们经常说的抛出异常就是创建异常对象,并提交给运行系统。
异常捕获机制
当异常发生时,我们需要知道异常在哪里发生的,那么怎么定位异常的出处呢?
在Java中,使用call stack来记录方法调用顺序。当Java程序发生异常时,会搜索call stack,希望找到特定的代码块
来处理它。就像生病(Exception)了,我们会去医院找特定科目的医生就诊。以下图为例,main方法调用method0,
method0调用method1,等等。

在Java中异常处理,使用try-catch语句。语法为:
try {
// 可能出现异常的代码
} catch (ExceptionType name) {
// 异常处理代码
} catch (ExceptionType name) {
// 异常处理代码
}
结合上图我们实现一个异常处理示例程序:
public static void main(String[] args) {
method0();
}
static void method0(){
// 异常处理块
try{
method1();
} catch(ArrayIndexOutOfBoundsException e){
e.printStackTrace();
} // 异常处理结束
}
static void method1(){
method2();
}
static void method2(){
// 数组越界的情况
int[] arr = new int[3];
arr[3] = 6;
}
标签:
原文地址:http://www.cnblogs.com/LiaoMing/p/5222212.html