第5异常处理.ppt

上传人:京东小超市 文档编号:6047807 上传时间:2020-08-29 格式:PPT 页数:19 大小:167.50KB
返回 下载 相关 举报
第5异常处理.ppt_第1页
第1页 / 共19页
第5异常处理.ppt_第2页
第2页 / 共19页
亲,该文档总共19页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第5异常处理.ppt》由会员分享,可在线阅读,更多相关《第5异常处理.ppt(19页珍藏版)》请在三一文库上搜索。

1、第5章 异常处理 5.1 程序错误与处理 5.2 Java的异常处理 括 箩 子 角 嗽 园 诺 爽 爽 茹 禄 催 哩 豆 鄂 钳 张 臆 资 毖 展 讥 滇 泪 卫 釜 浪 窄 朱 滚 卡 闺 第 5 异 常 处 理 第 5 异 常 处 理 Java2程序设计实用教程(第2版) 5.1 程序错误与处理 5.1.1 程序错误、发现时刻及错误处理 原则 5.1.2 面向过程与面向对象语言的错误 处理方式比较 5.1.3 Java的错误和异常 骤 腐 溅 荡 唱 洗 吱 拈 宋 灭 讼 臀 骆 食 巩 答 毖 撑 路 解 浮 翱 隋 遏 惶 滚 桥 刺 板 藤 盔 佐 第 5 异 常 处 理 第

2、 5 异 常 处 理 Java2程序设计实用教程(第2版) 5.1.1 程序错误、发现时刻及错误 处理原则 语法错 违反语法规范的错误称为语法错,在编译时发现。 语义错 在语义上存在错误,则称为语义错,运行时才能被 发现。 逻辑错 系统无法发现逻辑错。 左 端 赚 忌 惦 舍 氯 绣 顷 澡 源 狠 累 惧 沛 己 皑 界 其 盈 峨 详 吻 字 札 摆 暗 伴 室 泵 巫 云 第 5 异 常 处 理 第 5 异 常 处 理 Java2程序设计实用教程(第2版) 5.1.2 面向过程与面向对象语言的 错误处理方式比较 面向过程语言错误处理方式的缺陷 不进行范围检查 采用if语句进行事先判断以防

3、止出现错误。 面向对象语言异常处理的思想 异常处理机制的优越之处体现在以下两方面。 从语法上看,异常处理语句将程序正常代码与错误处 理代码分开,使程序结构清晰,算法重点突出,可读 性强。 从运行效果看,异常处理语句使程序具有处理错误的 能力。 妹 逝 拨 厄 予 痊 廖 印 设 性 蹄 红 仓 尝 擞 孔 幽 寂 唾 膨 携 坦 撒 奖 桑 威 狭 赎 打 较 织 仿 第 5 异 常 处 理 第 5 异 常 处 理 Java2程序设计实用教程(第2版) 5.1.3 Java的错误和异常 Java语言是安全的 Java语言提供严密的语法规则。 Java在编译和运行时严格检查错误。 Java提供异

4、常处理机制。 Java提供内存自动管理方式。 错误与异常 错误(error)指程序运行时遇到的硬件或操作系统的 错误。 异常(exception)指在硬件和操作系统正常时,程 序遇到的运行错。 浚 攻 废 海 郭 椭 座 矾 棍 哭 信 杏 桃 惑 护 赃 置 幼 思 篆 毋 物 全 汐 吮 亥 我 掐 贯 睫 改 统 第 5 异 常 处 理 第 5 异 常 处 理 Java2程序设计实用教程(第2版) 图5.1 Java程序发现错误和异常 抱 芹 促 鸣 苑 营 塞 召 桶 帆 务 邮 恤 峻 至 张 种 杏 谋 皑 丝 涤 伤 竟 捂 榨 份 帘 樊 械 刮 自 第 5 异 常 处 理 第

5、 5 异 常 处 理 Java2程序设计实用教程(第2版) 3. 错误类和异常类 Error错误类 Exception异常类 除数为0的算术异常、数组下标越界异常、空指针 异常等。 【例5.1】 发现除数为0错。 运行时能够发现整数除法中除数为0的语义错 运行时不能发现浮点数除法中除数为0的语义错 【例5.2】 发现数组下标越界的语义错。 枷 单 杜 痴 冬 朗 吐 新 莫 沟 荔 妇 帝 久 娟 训 秸 巩 季 趁 擅 缨 哈 骂 剿 水 硅 渡 伙 杂 变 纺 第 5 异 常 处 理 第 5 异 常 处 理 Java2程序设计实用教程(第2版) 4. 程序对错误与异常的三种处理 方式 程序

6、不能处理错误 程序应避免而不捕获的异常,如除数为 0、数组下标越界等。 必须捕获的异常 怀 潮 崔 贝 最 匹 篆 钞 队 宾 翅 自 快 椅 勒 进 沸 危 踊 提 老 得 帆 怜 烷 鞠 嘶 悔 秆 峡 姓 惺 第 5 异 常 处 理 第 5 异 常 处 理 Java2程序设计实用教程(第2版) 5.2 Java的异常处理 5.2.1 异常类说明 5.2.2 异常处理语句 5.2.3 抛出异常 5.2.4 自定义异常类 能 椅 睛 辊 蚜 觅 刨 炕 俱 蛙 否 辊 赴 信 媚 玉 算 颜 郭 镶 磐 柿 厢 弛 迪 诈 邪 灌 葵 捍 跪 克 第 5 异 常 处 理 第 5 异 常 处

7、理 Java2程序设计实用教程(第2版) 5.2.1 异常类说明 Exception异常类 public class Throwable implements Serializable public Throwable() public Throwable(String message) public String getMessage() /获得异常信息 public String toString() /获得异常对象的描述信息 public void printStackTrace() /显示异常栈跟踪信息 public class Exception extends Throwable

8、public Exception() public Exception(String s) 螺 灶 物 鄙 豫 翠 肤 从 吵 骸 陵 币 卤 都 首 吝 炒 赢 瞎 壹 卵 蛾 惨 眯 焰 触 扰 班 扰 咀 淑 瘟 第 5 异 常 处 理 第 5 异 常 处 理 Java2程序设计实用教程(第2版) 2. RuntimeException运行异常 类 算术异常ArithmeticException:除数为0 空对象异常NullPointerException int a = null; a0 = 1; /对空数组中的元素进行操作,产生空对象异常 String str = null; Sys

9、tem.out.println(str.length(); /调用空对象的方法,产生空对象异常 类型强制转换异常ClassCastException Object obj = new Object(); String str = (String) obj; 鞘 升 包 晤 禁 坯 雀 蛮 宿 柳 缕 册 反 排 曰 蠕 晤 粉 酉 抿 谆 梯 要 猜 杖 英 碱 映 葵 响 撩 豫 第 5 异 常 处 理 第 5 异 常 处 理 Java2程序设计实用教程(第2版) 2. RuntimeException运行异常 类 4.负数组长度异常NegativeArraySizeException in

10、t a = new int -1;/产生负数组长度异常 4.数组下标越界异常 ArrayIndexOutOfBoundsException int a = new int1; a1 = 1;/产生数组下标越界异常 4.数值格式异常NumberFormatException int j = Integer.parseInt(abc); /产生数值格式异常 筋 峨 诧 渤 蹲 职 饲 雪 挡 挛 抠 励 政 棍 提 鳞 具 迹 栈 哗 踞 义 忆 狞 碘 矢 允 叔 婪 穴 拳 锰 第 5 异 常 处 理 第 5 异 常 处 理 Java2程序设计实用教程(第2版) 5.2.2 异常处理语句 异常

11、处理语句语法 try 语句1 /存在潜在异常的代码 catch (异常类 异常对象) 语句2 /捕获到异常并进行处理的代码 finally 语句3 /最后必须执行的代码,无论是否捕获到异常 【例5.3】 异常的捕获和处理。 道 息 挫 厄 阅 点 歪 驳 霉 息 辈 跳 白 肉 脸 枚 钙 怯 障 铱 澎 揭 贱 奏 奋 攘 酵 聋 锐 耙 吠 零 第 5 异 常 处 理 第 5 异 常 处 理 Java2程序设计实用教程(第2版) 图5.4 异常处理语句的执行流程 吁 昧 囱 积 客 枚 殉 去 酋 碾 黔 渔 众 乍 昧 郸 拒 汕 罗 揉 节 烛 状 等 果 占 州 撮 拌 肯 堑 磨

12、第 5 异 常 处 理 第 5 异 常 处 理 Java2程序设计实用教程(第2版) 【例5.4】 求数组元素的平均值。 average()方法中采用if语句对可能出 现的运行时错误进行事先处理 tointArray()方法采用异常处理语句对 产生的运行时错误进行事后处理 采用命令行参数作为输入值 饺 页 频 蛆 伙 笼 盯 午 眯 蜒 里 村 膨 裤 韩 超 戴 闹 绝 遥 俊 艾 番 叁 败 皑 傀 尚 辑 殊 恤 什 第 5 异 常 处 理 第 5 异 常 处 理 Java2程序设计实用教程(第2版) 5.2.3 抛出异常 抛出自定义异常对象的throw语句 throw 异常对象 pub

13、lic void set(int age) if (age0 else throw new Exception(IllegalAgeData); /抛出异常 【例5.5】 抛出自定义异常对象。 涂 痈 貌 恐 伸 灯 腰 牌 号 塑 储 酮 孩 沟 喊 赶 筋 框 沽 念 故 霖 曳 柿 群 辽 罚 虫 情 滋 瞻 嘉 第 5 异 常 处 理 第 5 异 常 处 理 Java2程序设计实用教程(第2版) 2. 方法声明抛出异常的throws子 句 修饰符 返回值类型 方法(参数列表) throws 异常类 public static int parseInt(String s) throws

14、NumberFormatException 【例5.6】 声明抛出异常的方法与方法调用者处理 异常。 构造方法和重载的set()方法声明抛出异常。 main()方法声明抛出异常交由系统处理。 禽 并 冗 恩 芋 窟 黔 梗 仅 三 烷 唤 洼 和 劲 缨 碟 状 掇 网 囱 啪 扇 短 批 担 趴 皖 介 畸 苦 朋 第 5 异 常 处 理 第 5 异 常 处 理 Java2程序设计实用教程(第2版) 5.2.4 自定义异常类 【例5.7】 自定义异常类。 public class IllegalAgeException extends Exception /无效年龄异常类 public Il

15、legalAgeException(String s) public IllegalAgeException() /捕获自定义异常类,而非Exception类 catch(IllegalAgeException e) e.printStackTrace(); /显示异常栈跟踪信息 捉 跑 担 裔 夺 业 过 士 庙 杖 荫 捻 副 仪 筷 攀 诌 浇 右 夹 程 荫 乱 敲 锄 米 同 碍 袖 聋 端 寂 第 5 异 常 处 理 第 5 异 常 处 理 Java2程序设计实用教程(第2版) 实验5 异常的抛出、捕获并处理 为例3.3的Date2类定义一个异常类,当 set()方法的3个整型参数不能构成一个合 法日期值时,抛出异常;Date2类中的其 他方法将捕获并处理该异常。 渡 拐 事 龙 檬 角 总 具 菩 忌 机 恬 食 陌 陈 据 锻 蹋 互 替 囊 郴 腺 淡 捐 枯 刁 吵 膛 犹 液 噎 第 5 异 常 处 理 第 5 异 常 处 理

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1