
异常处理JavaJava2007
Java 2007 Java 异常处理

异常基本概念程序中的错误:编译错误由于所编写的程序存在语法问题,未能通过由源代码到目标代码的编译过程而产生的错误。它将由语言的编译系统负责检测和报告运行错误在程序的运行过程中产生的错误Java2007
Java 2007 异常 基本概念 程序中的错误: 编译错误 由于所编写的程序存在语法问题,未能通 过由源代码到目标代码的编译过程而产生的错 误。它将由语言的编译系统负责检测和报告。 运行错误 在程序的运行过程中产生的错误

异常是在程序运行中导致程序终止运行的事件如要求程序执行以零为除数的除法,要求程序访问数组下标范围以外的数组元素,要求访问空对象内的信息或文件找不到等。为了加强程序的健狂性我们希望发生了错误之后,能将程序从出错状态转移到一个安全状态,使得系统能够恢复控制权。或者正常的结束程序的运行并保存数据。Java处理异常的核心任冬其骏药挖制叔从发生的华外可见,一个好的应用程序,除了具备用户要求的功能外,还要求能预见程序执行过程中可能产生的各种异常,并把处理异常的功能包括在用户程序中。Java2007
Java 2007 异常是在程序运行中导致程序终止运行的事件。 如要求程序执行以零为除数的除法,要求程序访问 数组下标范围以外的数组元素,要求访问空对象内 的信息或文件找不到等。为了加强程序的健壮性我 们希望发生了错误之后,能将程序从出错状态转移 到一个安全状态,使得系统能够恢复控制权。或者 正常的结束程序的运行并保存数据。Java处理异常 的核心任务是将系统的控制权从发生错误的指令处 转移到错误处理的地方。 可见,一个好的应用程序,除了具备用户要求的功能 外,还要求能预见程序执行过程中可能产生的各种异常, 并把处理异常的功能包括在用户程序中

Java进行异常处理的大致过程在Java中,是用面向对象的方法来处理异常的。在一个方法的运行过程中,如果发生了异常,则这个方法生成代表该异常的一个对象,并把它交给运行时系统,运行时系统寻找相应的代码来处理这一异常。我们把生成异常对象并交给运行时系统的过程称为抛出一个异常(throw)。运行时系统在方法的调用栈中查找,从生成异常的方法开始回溯,直到找到包含相应异常处理的代码为止,这一过程称为捕获一个异常(catch)(如果没有找到相应异常处理的方法,则运行时系统将终止程序的运行)。Java2007
Java 2007 Java进行异常处理的大致过程 在Java中,是用面向对象的方法来处理异常的。在一 个方法的运行过程中,如果发生了异常,则这个方法生成 代表该异常的一个对象,并把它交给运行时系统,运行时 系统寻找相应的代码来处理这一异常。我们把生成异常对 象并交给运行时系统的过程称为抛出一个异常(throw)。 运行时系统在方法的调用栈中查找,从生成异常的方法开 始回溯,直到找到包含相应异常处理的代码为止,这一过 程称为捕获一个异常(catch)(如果没有找到相应异常处 理的方法,则运行时系统将终止程序的运行)

程序:Runtime Environment程序:方法i处理异常的方法异常对象3捕获异常抛出异常Java2007
Java 2007 程序: . 方法i{ . } . Runtime Environment 处理异常的方法 抛出异常 捕获异常 异常对象 程序:

bdac发现异常自行解决必须解决不自行解发现异常或将其抛决,将其自行处理出。抛出。如果一个方法本身能抛出异常,当所调用的方法出现异常时,调用者可以捕获异常使之得到处理:也可以回避异常,这时异常将在调用的堆栈中向下传递,直到被处理。Java2007
Java 2007 发现异常 自行处理 必须解决 自行解决 或将其抛 出。 发现异常 不自行解 决,将其 抛出。 a b c d 如果一个方法本身能抛出异常,当所调用的方法出 现异常时,调用者可以捕获异常使之得到处理;也可以 回避异常,这时异常将在调用的堆栈中向下传递,直到 被处理

Java异常处理机制的优点>异常错误处理代码与代码分离:>异常处理把错误报告给方法调用堆栈:>异常处理把错误按类型分类>由于把异常事件当成对象来处理,利用类的层次性我们可以把多个具有相同父类的异常统一处理也可以区分成不同的异常分别处理,非常灵活。Java2007
Java 2007 Java异常处理机制的优点 ➢ 异常错误处理代码与代码分离; ➢ 异常处理把错误报告给方法调用堆栈; ➢ 异常处理把错误按类型分类; ➢ 由于把异常事件当成对象来处理,利用类的层次 性我们可以把多个具有相同父类的异常统一处理, 也可以区分成不同的异常分别处理,非常灵活

Throwable类及其子类ObjectThrowableErrorExceptionIOExceptionAWTExceptionRuntimeExceptiorJava2007
Java 2007 Throwable类及其子类 Object Throwable Error Exception AWTException . IOException RuntimeException

类Throwable位于异常处理类层次的最顶层,只有它的后代可以作为一个异常被抛出:类Throwable有两个直接子类:Error和Exception。其中:Error类对象由JVM抛出,如系统内部错误或资源短缺等,所以不必对这类异常进行处理;Exception类对象由Java程序抛出并处理。它有各种不同的子类分别对应于不同类型的异常,其中类RuntimeException的对象代表运行时由JVM生成Exception类对象由应用程序处理或抛出。另外Java编译器要求Java程序必须捕获或声明所有非运行时异常Java2007
Java 2007 ➢ 类Throwable位于异常处理类层次的最顶层,只有它的后 代可以作为一个异常被抛出; ➢ 类Throwable有两个直接子类:Error和Exception。其中: ✓ Error类对象由JVM抛出,如系统内部错误或资源短 缺等,所以不必对这类异常进行处理; ✓ Exception类对象由Java程序抛出并处理。它有各种不 同的子类分别对应于不同类型的异常,其中 • 类RuntimeException的对象代表运行时由JVM生成 的异常,如ArithmeticException、 ArrayIndexOutOfBoundsException异常等。 • 其它则为非运行时异常,如IOException等。 Exception 类对象由应用程序处理或抛出。另外Java 编译器要求Java程序必须捕获或声明所有非运行时异常

Exception类的主要方法> publicExceptionO;> public Exception(String s);public String toStringO;> public String getMessageO/返回描述异常的详细信息Java2007
Java 2007 Exception 类的主要方法 ➢ public Exception( ); ➢ public Exception(String s); ➢ public String toString( ); ➢ public String getMessage( ); //返回描述异常的详细信息