AvA Jaa外处程 辽宁经济职业技术学院信息系 硕士、副教授陈英 JAVA
Java例外处理 辽宁经济职业技术学院信息系 硕士、副教授 陈英
异常的念 AvA 什么是异常? 异常实际上是程序中错误,导致中断了正 常的指令流的一种事件 在程序执行中,任何中断正常程序流程的 异常条件就是错误或异常。例如,发生下 列情况时,会出现异常: 1)想打开的文件不存在 2)网络连接中断 3)受控操作数超出预定范围 非常感兴趣地正在装载的类文件丢失 JAVA
异常的概念 什么是异常? 异常实际上是程序中错误,导致中断了正 常的指令流的一种事件. 在程序执行中,任何中断正常程序流程的 异常条件就是错误或异常。例如,发生下 列情况时,会出现异常: 1) 想打开的文件不存在 2) 网络连接中断 3) 受控操作数超出预定范围 4) 非常感兴趣地正在装载的类文件丢失
AvA 异常的概念 在Java编程语言中,异常类定义程序中可能遇到 的轻微的错误条件。可以写代码来处理异常并继 续程序执行,而不是让程序中断。 个异常通常表明出现一个错误,之所以这样称 呼是因为java程序中的错误就是规则的异常情况。 当然异常并不总表示错误,它也可以表明在程序 中出现了一些特别不寻常的事件,需要引起特别 注意 ○但并非程序中的所有错误都需要由异常来指出。 异常用于指出可能出现的不寻常的、灾难性的情 况。例如一个用户在程序中输入的信息不正确是 JAVA 种普通事件,不应该由异常来处理
异常的概念 在Java编程语言中,异常类定义程序中可能遇到 的轻微的错误条件。可以写代码来处理异常并继 续程序执行,而不是让程序中断。 一个异常通常表明出现一个错误,之所以这样称 呼是因为java程序中的错误就是规则的异常情况。 当然异常并不总表示错误,它也可以表明在程序 中出现了一些特别不寻常的事件,需要引起特别 注意。 但并非程序中的所有错误都需要由异常来指出。 异常用于指出可能出现的不寻常的、灾难性的情 况。例如一个用户在程序中输入的信息不正确是 一种普通事件,不应该由异常来处理
以常规方法处理错误 AvA open Files; read-file i if(the FileoPen)( openTheFile; determine the lenth of the file determine its size if (gotThe Filelength) i allocate that much allocate that much memory; memory if(gotEnoughMemory( closeThe file: read the file into memory; if (read Failed) error Code=-1; else errorCode=-2; else error Code=-3 else error Code=4; J 没有处理错 误的程序 else errorcode=-s JAVA
以常规方法处理错误 openFiles; if (theFilesOpen) { determine the lenth of the file; if (gotTheFileLength) { allocate that much memory; if (gotEnoughMemory) { read the file into memory; if (readFailed) errorCode=-1; else errorCode=-2; } else errorCode=-3 } else errorCode=-4 ; } else errorCode=-5; read-file { openTheFile; determine its size; allocate that much memory; closeTheFile; } 没有处理错 误的程序:
AvA 用异常的形式处理错误 )观察前面的程序你 read-File: i try i 会发现大部分精力 open The file 花在出错处理上了。 determine its size; allocate that much memory 2)只把能够想到的错 close The file: 误考虑到,对以外chu opens alle 的情况无法处理。 i dosomething catch(sizeDetermineFailed) 3)程序可读性差。 (dosomething: j 出错返回信息量太(0e 少。 catch(readFailed) i dosomething l catch (file Closefailled) JAVA &dosomething; 3
用异常的形式处理错误 1) 观察前面的程序你 会发现大部分精力 花在出错处理上了。 2) 只把能够想到的错 误考虑到,对以外 的情况无法处理。 3) 程序可读性差。 4) 出错返回信息量太 少。 read-File; { try { openTheFile; determine its size; allocate that much memory; closeTheFile; }catch(fileopenFailed) { dosomething; } catch(sizeDetermineFailed) {dosomething;} catch(memoryAllocateFailed) { dosomething;} catch(readFailed) { dosomething;} catch(fileCloseFailed) { dosomething; }}