java异常分析说明及处理办法.ppt

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

异常及其处理办法 前言 “未被检测到的错误将可能被忽略.”——引自一家领先计算公司的技术文档 “在真的开始编程时我才发现,它比预想的难多了.忽然我意识到:我生命中的大多数时间都要花在查找自己程序的错误上了.” ——MauricecWilkes 谁不希望自己一路顺风?谁不希望一夜间盖起高楼大厦,造出航天飞机?但幻想代替不了现实.最现实的做法是未雨绸缪,防患于未然. 制定异常处理策略,应随机应变地解决各类问题。 Java异常处理机制 Throwable类 Throwable 类是 Java 语言中所有错误或异常的超类。 在java程序设计语言中,异常对象都是派生于Throwable类的一个实例。 如果java中内置的异常类不能满足需求,用户还可以创建自己的异常类。 Error类 Error类层次结构描述了java运行时系统的内部错误和资源耗尽错误。 如果出现这样的内部错误,除了通知用户,并尽力使程序安全地终止外,再无能为力。 不过这样的情况很少出现 Exception类 Java程序设计的时候将Exception划分成两个分支: 一支为曾经能够正确运行,而由于某些情况导致的异常属于IOException。 另一支由程序错误导致的异常属于RuntimeException。 IOException类 包含以下情况: 试图在文件尾部后面读取数据。 试图打开一个错误格式的URL RuntimeException类 包含下面情况: 错误的类型转换。 数组访问越界。 访问空指针。 以下为RuntimeException异常: NullPointerException 空指针异常 IndexOutOfBoundsException 指示某排序索引(例如对数组、字符串或向量的排序)超出范围时抛出 。 IllegalArgumentException 抛出的异常表明向方法传递了一个不合法或不正确的参数。 更多RuntimeException异常查看API帮助文档 抛出异常 找到一个合适的异常类 创建这个类的一个对象 将对象抛出 抛出异常的格式1 例如: String readData(InputStream input) throws IOException { throw new IOException(); } 抛出异常的格式2 例如: public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { … } 捕获异常 必须设置try/catch 语句块,try语句块的简单形式如下: try { code more code more code } catch(ExceptionType e) { handler for this type } 如果try语句块中任何代码抛出一个在catch子句中指定的异常类,那么 程序将跳过try语句块中的其余代码。 程序将执行catch子句中的处理器代码。 演示代码: public void read(String fileName) { try { InputStream in = new FileInputStream(fileName); int b; while ((b = in.readLine()) != -1) { process input } } catch(IOException e) { e.printStackTrace(); } } 捕获多个异常 try { code } catch(exceptiontype e1) { } catch(exceptiontype e2) { } catch(exceptiontype e3) { } 不论后面跟着多少个catch都一样,try-catch语句是这样执行的:首先逐个从上到下执 行try块中的java语句,如果没有发生异常,则执行完try块后跳

文档评论(0)

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

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

1亿VIP精品文档

相关文档