什么是异常?
异常,不正常也。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; }
时间: 2024-11-04 13:56:22