ITjob就业培训java教材08.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第八章:异常 学习目标 异常的概念 自定义异常 方法覆盖和异常 异常的概念在Java编程语言中,异常类定义程序中可能遇到的轻微的错误条件。你可以写代码来处理异常,并继续执行程序,而不需要让程序中止。 在程序执行中,任何中断正常程序流程的条件都是异常。例如,发生下列情况时,会出现异常: 想打开的文件不存在 网络连接中断 操作数超出预定范围 正在装载的类文件丢失 在Java编程语言中,错误类定义被认为是不能恢复的严重错误条件。在大多数情况下,当遇到这样的错误时,建议让程序中断。 在程序中发生错误时,发现错误的方法抛出一个异常到其调用程序,出已经发生问题的信号。然后,调用方法捕获抛出的异常,在可能时,再恢复回来。这个方案给程序员一个写处理程序的选择,来处理异常。 通过浏览API,可以决定方法抛出的是什么样的异常。 异常的分类 在Java编程语言中ava.lang.Throwable类充当所有对象的父类,可以使用异常处理机制将这些对象抛出并捕获。在Throwable类中定义方法来检索与异常相关的错误信息,并打印显示异常发生的栈跟踪信息。它有Error和Exception两个基本子类。 Throwable类不能使用,使用子类异常异常如图: Error表示。比如说内存溢出。不可能指望程序能处理这样的情况。 RuntimeException表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。比如,如果数组索引扩展不超出数组界限,那么,ArrayIndexOutOfBoundsException异常从不会抛出。比如,这也适用于取消引用一个空值对象变量。因为一个正确设计和实现的程序从不出现这种异常,通常对它不做处理。这会导致一个运行时信息,应确保能采取措施更正问题,而不是将它藏到谁也不注意的地方。 其它异常表示一种运行时的困难,它通常由环境效果引起,可以进行处理。例子包括文件未找到或无效URL异常(用户打了一个错误的URL),如果用户误打了什么东西,两者都容易出现。这两者都可能因为用户错误而出现,这就鼓励程序员去处理它们。 预定义异常 Java编程语言提供几种预定义的异常。下面是可能遇到的更具共同性的异常中的几种: ArithmeticException:整数被0除,运算得出的结果。 int i = 12 / 0; NullPointerException:当对象没被实例化时,访问对象的属性或方法的尝试: Date d = null; System.out.println(d.toString()); NegativeArraySizeException:创建带负维数大小的数组的尝试。 ArrayIndexoutofBoundsException:访问超过数组大小范围的一个元素的尝试。 SecurityException:典型地被抛出到浏览器中,SecurityManager类将抛出applets的一个异常,该异常企图做下述工作(除非明显地得到允许): 访问一个本地文件 打开主机的一个socket,这个主机与服务于applet的主机不是同一个。 在运行时环境中执行另一个程序try-catch-finally 主动异常处理 throws 消极异常处理 throw 引入异常 实例分析 例1 问题的描述: 写一个常见的异常 解决方案: 请看下例: public class TestException { public static void main(String args[]) { int i = 0; String ss[] = { Hello world!, 您好,世界!, HELLO WORLD!! }; for (; i 6; i++) { System.out.println(ss[i]); } } }运行的结果为如图。 要处理异常,将能够抛出异常的代码放入try块中,然后创建相应的catch块的列表,每个可能被抛出异常都有一个。如果生成的异常与catch中提到的相匹配,那么catch条件的块语句就被执行。在try块之后,可能有许多catch块,每一个都处理不同的异常。 请看下例: class TestException2 { public static void main(String args[]) { int i = 0; String ss[] = { Hello world!, 您好,世界!, HELLO WORLD!! }; for (; i 5; i++) { try { System.out.println(第 + (i + 1) + 次循环:); System.out.println(ss[i

文档评论(0)

xxj1658888 + 关注
实名认证
文档贡献者

教师资格证持证人

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

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档