- 1、本文档共25页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java语言程序设计 Java 的异常处理 对错误的处理 程序执行的错误 处理错误 向用户通知错误 保存全部工作 让用户适当地退出程序 异常处理 Java检测和报告错误的机制 处理错误的方式 函数式编程中,直接检测调用函数返回值以确定错 误内容,存在的问题 检测错误返回的编码工作量大,逻辑上复杂 返回的错误信息有限,无详细的位置、性质等 异常处理 throws,使不能正常结束的方法抛出一个封装了错误信 息的对象-异常 使用异常处理程序处理异常错误 异常处理机制 Java中定义了很多异常类,每个异常类都代表了一种运行错 误,类中包含了该运行错误的信息和处理错误的方法等内容。 每当Java程序运行过程中发生一个可识别的运行错误时,即 该错误有一个异常类与之相对应时,系统都会产生一个相应 的该异常类的对象,即产生一个异常。一旦一个异常对象产 生了,系统中就一定有相应的机制来处理它,确保不会产生 死机、死循环或其他对操作系统的损害,从而保证了整个程 序运行的安全性。这就是Java的异常处理机制 异常处理机制 当方法执行过程中出现错误而干扰了程序流程时,会抛出一 个异常,即构造出一个异常类的对象。 异常类对象代表当前出现的一个具体异常,该对象封装了异 常的有关信息。 异常分为系统定义异常和用户自定义异常。 异常抛出方式: 自动抛出(系统定义异常) 用throw语句抛出(用户定义异常) 方法中的异常处理: 捕获异常,就地解决,并使程序继续执行 。 将异常向外转移,即将异常抛出方法之外,由调用该方法 的环境去处理。 异常类 异常类 Exception类定义的是较轻的错误,你可以编写代码来 处理这类错误,并继续程序的执行。 Exception原因: 打开的文件不存在。 网络连接中断。 操作数超过允许范围。 想要加载的类文件不存在。 试图通过空的引用型变量访问对象。 数组下标越界。 Error类定义的错误是致命性错误,一般会导致程序停 止执行。 Exception类 构造方法 Exception() Exception(String 异常描述) Exception类的方法均继承自Throwable类 方法 String getMessage() 返回异常描述。 String toString() 返回异常对象详细信息。 void printStackTrace() 打印异常发生的路径,即引起异常的方法调用嵌套序列。 系统定义的异常类 ClassNotFoundException 未找到要加载的类 ArrayIndexOutOfBoundsException 数组越界使用 FileNotFoundException 未找到指定的文件或目录 IOException 输入、输出错误 NullPointerException 引用空的尚无内存空间的对象 系统定义的异常类 ArithmeticException 算术错误,如除数为0 InterruptedException 一线程在睡眠、等待或其他原因暂停时被其他线程打断 UnknownHostException 无法确定主机的IP地址 SecurityException 安全性错误,如Applet欲读写文件 MalformedURLException URL格式错误 用户定义的异常类 用户自定义异常主要用来处理用户程序中特定的 逻辑运行错误。 定义异常类 class MyExp extends Exception { //或继承其他异常类 //定义新的属性 //重载构造方法 例:MyExp(String msg) { super(msg) } // 重载原方法,或定义新方法 } 抛出异常类 : throw 异常类对象 ; 例: throw new MyExp(“年龄超过规定”) ; 例: throw new Exception() ; 异常的产生 自动抛出异常 运行异常 程序运行中可自动由Java解释器引发并处理的异常;编 程时不需捕获或声明。 如:除以0、下标越界、指针例外等 非运行异常 可在编译期由编译器确定某方法是否会发生此类异常; 必须编程时捕获或声明 如:IOException, InterruptedException 异常的产生 编程抛出异常: 在程序的相应部分抛出异常: thr
文档评论(0)