Java与UML面向对象程序设计-第18章.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java与UML面向对象程序设计-第18章

Java与UML面向对象程序设计 第18章 异常处理 了解异常的概念 掌握异常处理的规范 了解常见异常 常见错误 补充 1、编译错误 常见编译错误 (1)大小写形式混淆:cannot resolve symbol (2)使用未定义的变量:cannot resolve symbol (3)使用未初始化的变量:variable a might not have been initialized (4)数据类型与变量类型不符:incompatie types (5)语句后面遗漏分号:错误提示给出缺少分号位置 (6)小括号不配对 常见错误 补充 2、运行错误:是指在Java程序执行时因非法操作或操作失败等产生的错误。这类错误在编译程序时一般是无法发现的。产生错误时,程序会被中断,并显示错误信息。 常见运行错误 (1)数组下标越界:ArrayIndexOutOfBoundsException:语句行号 (2)除数为零:ArithmeticException:/by zero 常见错误 补充 3、逻辑错误:程序运行后,没有得到预期的结果,这说明程序存在逻辑错误。程序不产生错误提示。这类错误从语法上来说是有效的,知识程序逻辑上存在缺陷。 常见逻辑错误 (1)超出数据类型的数值范围: (2)将等于关系符号写成“=” (3)语句体忘记加大括号 (4)语句次序错误……。 异常及其种类 异常是程序违反了Java语言的语义限制,程序运行时发生的错误。 异常会使程序的运行流程发生改变。 异常通常分为三类: 程序可控制的异常 程序不可控制的异常 人为异常 JAVA异常类结构与组成 Java中的所有的异常类都是从Throwable类派生出来的。Throwable类有两个直接子类: Error 程序不可控制的异常类,只报错不处理; Exception 程序可控制的异常类。可对这类错误的进行处理。 异常类的继承关系如下: Throwable 异常类的顶层类 Error 程序不可控制异常 Exception 程序可控制异常 RuntimeException 运行时异常(常见) AWTException 图形用户界面异常 IOException 输入输出异常 IllegalAccessException 无法访问类异常 ClassNotFoundException 类或接口未找到异常 。。。 RuntimeException 运行时异常 ArithmeticException 算术运算异常:如除数为0 ArrayStoreException 数组存储异常:欲把不同类型的值存入数组 NullPointerException 空指针异常:使用一个空对象引用 SecurityException 安全异常:检测到了违反安全的行为 IllegalArgumentException 非法参数异常:用不合法的参数调用方法 IndexOutOfBoundsException 下标越界 ArrayIndexOutOfBoundsException 数组下标越界 StringIndexOutOfBoundsException 字符串下标越界 …… 捕获异常 正常情况下,如果异常发生了,程序就会立即终止执行,并在控制台上显示错误信息,这是由Java运行时系统提供的默认异常处理器来完成的。但是,有时候希望程序不立即终止运行,以免造成用户数据丢失或系统瘫痪,而是允许自动修复错误后能够继续运行,或者保存用户数据并向用户通报错误后以适当的形式退出,这需要在程序中添加捕获异常的语句来自行完成异常处理。 未处理的异常 // 未处理的异常(有两个任务) public class Ex1 { public static void main(String[] args) { //下面sub()方法的第2个参数为0时发生异常,后序语句不执行。 System.out.println(sub(10,3)); System.out.println(sub(10,5)); } static int sub (int a,int b) { System.out.print(a+/+b+=); return a / b; } } 不发生异常时运行结果: 10/3=3 10/5=2 发生异常的运行结果 第5行 System.out.println(sub(10,3)); 改为 System.out.println(sub(10,0));

文档评论(0)

asd522513656 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档