第6章异常处理 错误是编程中不可避免和必须要处理的问题。编程人 员和编程工具处理错误的能力在很大程度上影响着编 程工作的效率和质量。到目前为止,但前面章节里的 程序没有包含处理异常的代码。如果程序在运行过程 中发生了异常,那么系统就会以相应的错误消息终止 程序的执行。如果因为程序的错误或者某些外部因素 导致系统终止用户丢失数据,那程序就无法满足用户 的需求。在程序发生异常时,程序应该能做到:通知 用户程序出现了一个错误;保存全部工作;允许用户 安全地退出程序。 对于异常的情况,例如可能造成程序崩溃的错误输入, 3ava使用“异常处理”的错误捕获机制来进行处理
第6章 异常处理 错误是编程中不可避免和必须要处理的问题。编程人 员和编程工具处理错误的能力在很大程度上影响着编 程工作的效率和质量。到目前为止,但前面章节里的 程序没有包含处理异常的代码。如果程序在运行过程 中发生了异常,那么系统就会以相应的错误消息终止 程序的执行。如果因为程序的错误或者某些外部因素 导致系统终止用户丢失数据,那程序就无法满足用户 的需求。在程序发生异常时,程序应该能做到:通知 用户程序出现了一个错误;保存全部工作;允许用户 安全地退出程序。 对于异常的情况,例如可能造成程序崩溃的错误输入, Java使用“异常处理”的错误捕获机制来进行处理
本章要点 ■异常和异常类; 检查和非检查异常; ■异常处理 ■异常处理技巧; ■创建自己的异常类;
本章要点 ◼异常和异常类; ◼检查和非检查异常; ◼异常处理; ◼异常处理技巧; ◼创建自己的异常类;
61异常和异常类 异常是指发生在正常情况以外的事件,如用户输入错误、除数为零 需要的文件不存在、文件打不开、数组下标越界、内存不足等。程序在 运行过程中发生这样或那样的错误及异常是不可避免的。然而,一个好 的应用程序,除了应具备用户要求的功能外,还应具备能预见程序执行 过程中可能产生的各种异常的能力,并把处理异常的功能包括在客户程 序中。也就是说,我们在设计程序时,要充分考虑到各种意外情况,不 仅要保证应用程序的正确性,而且还应该具有较强的容错能力。这种对 异常情况给予恰当的处理技术就是异常处理 用任何一种程序设计语言的设计程序在运行时都可能出现各种意想不 到的事件或异常的情况,计算机系统对于异常的处理通常有两种方法 是计算机系统本身直接检测程序中的错误,遇到错误时终止程序运行 是由程序员在程序设计中加入处理异常的功能。它又可以进一步区分 为没有异常处理机制的程序设计语言中的异常处理和有异常处理机制的 程序设计语言中的异常处理两种
6.1 异常和异常类 异常是指发生在正常情况以外的事件,如用户输入错误、除数为零、 需要的文件不存在、文件打不开、数组下标越界、内存不足等。程序在 运行过程中发生这样或那样的错误及异常是不可避免的。然而,一个好 的应用程序,除了应具备用户要求的功能外,还应具备能预见程序执行 过程中可能产生的各种异常的能力,并把处理异常的功能包括在客户程 序中。也就是说,我们在设计程序时,要充分考虑到各种意外情况,不 仅要保证应用程序的正确性,而且还应该具有较强的容错能力。这种对 异常情况给予恰当的处理技术就是异常处理。 用任何一种程序设计语言的设计程序在运行时都可能出现各种意想不 到的事件或异常的情况,计算机系统对于异常的处理通常有两种方法: ◼一是计算机系统本身直接检测程序中的错误,遇到错误时终止程序运行。 ◼二是由程序员在程序设计中加入处理异常的功能。它又可以进一步区分 为没有异常处理机制的程序设计语言中的异常处理和有异常处理机制的 程序设计语言中的异常处理两种
61异常和异常类 Java语言的特色之一是异常处理机制( Exception hand‖ing)。Java语言 采用面向对象的异常处理机制。通过异常处理机制,可以预防错误的程 序代码或系统错误所造成的不可预期的结果发生,并且当这些不可预期 的错误发生时,异常处理机制会尝试恢复异常发生前的状态或对这些错 误结果做一些善后处理。通过异常处理机制,减少了编程人员的工作量, 增加了程序的灵活性,增强了程序的可读性和可靠性。 Java对异常的处理是面向对象的。在]ava中,预定义了很多异常类,每 个异常类都代表了相应的错误,当产生异常时,如果存在一个被异常类 与此异常相对应,系统将自动生成一个异常类对象。 所有的异常类都是从 Throwable类派生而来的。 Throwable类被包含在 java. lang包中,图XXX显示了Java异常类的层次结构
6.1 异常和异常类 Java语言的特色之一是异常处理机制(Exception Handling)。Java语言 采用面向对象的异常处理机制。通过异常处理机制,可以预防错误的程 序代码或系统错误所造成的不可预期的结果发生,并且当这些不可预期 的错误发生时,异常处理机制会尝试恢复异常发生前的状态或对这些错 误结果做一些善后处理。通过异常处理机制,减少了编程人员的工作量, 增加了程序的灵活性,增强了程序的可读性和可靠性。 Java对异常的处理是面向对象的。在Java中,预定义了很多异常类,每 个异常类都代表了相应的错误,当产生异常时,如果存在一个被异常类 与此异常相对应,系统将自动生成一个异常类对象。 所有的异常类都是从Throwable类派生而来的。Throwable类被包含在 java.lang包中,图XXX显示了Java异常类的层次结构
61异常和异常类 LinkageEror Ermor VirtualMachine Emor AWTEror Anthme tic Exception Throwable Runtime Exception IndexOutfBourds Exce ption Inte muptedE-xception Exception File Not FoundException 1OExcepbiom DOFEocepton AWTExcerdion
6.1 异常和异常类