- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第06章 异常和异常处理
第六章 异常和异常处理 异常和异常类 异常处理 创建异常 §6.1 异常和异常类 一、 异常 例6-1 运行下面程序,从输出结果分析出现的是何种异常。 二、异常类 ·异常类方法 例6-2 产生算术异常对象的例子 §6.2 异常处理 一、程序运行时异常 二、捕获异常 例6-4 分析下面程序输出结果 说明: 上机实验 定义一个测试类Test,在主方法中声明两个int型变量a、b,令a=5,b=0,试着用try-catch-finally做一个小例子计算a/b。 要求:在catch中输出“因为除以零所以出错了”,在finally中输出“测试结束!” 如果将b赋值为1呢?看一下输出是怎样的? 三、抛出异常 2. 抛出异常(在方法体中) 例6-5 分析下面程序输出结果 §6.3 创建异常类 例6-6 用户创建异常类并使用 例6-7 分析下面程序输出结果 上机实验 1.编写一个用户自定义的异常类 UserDefException 2.编写一个类ExceptionGame,其中实现一个方法throwUserDefException(),在方法中抛出该异常 3.编写一个测试类Test,在其主方法中创建一个ExceptionGame类的对象,调用相应方法并捕获其异常。 总结 五个关键字: try、catch、finally、throw、throws 对编译器而言它们分别表示什么含义? · Java异常处理的原则和技巧 程序在运行期出现的错误! 观察错误的名字和行号最重要! ·在Java程序运行中,可能遇见的错误通常有两种: -致命的(内存空间不足、网络中断等),通常称为错误(Error); -非致命的(除数为0、数组下标越界),称为异常(Exception)。 //Exception1.java public class Exception1{ public static void main (String args[]) { String ss [] = {Java,Visaul Basic,C++}; System.out.println (ss[3]); } } Exception in thread main java.lang.ArrayIndexOutOfBoundsException: 3 at Exception1.main(Exception1.java:5) ·Java中定义了许多异常类,每个异常类代表一种异常事件。 ·Java程序在运行中发生异常时,即产生一种异常事件,同时生成相应的异常类对象。异常类对象中包含了产生异常时的重要信息,被提交给Java运行时系统。这个过程称为抛出异常。 ·当Java运行时系统接收到异常对象时,会寻找能处理这一异常对象的代码并交其处理,这一过程称为捕获异常。 异常类及其子类结构图 由java虚拟机生成并抛出,程序本身不处理 一般由编程人员显式声明并捕获 由系统自动检测和捕获处理 (1)异常类的构造方法 public Exception() public Exception(String s) (2)异常类的其它方法 ·用来返回描述异常对象信息的字符串。 public String toString() ·用来描述当前异常对象的详细信息。 public String getMessage() ·在屏幕上输出当前异常对象使用的堆栈的轨迹。 public void printStackTrace() class A { public int div(int i,int j){ return i/j; } } public class TestException2{ public static void main(String[] args) { Exception e = new Exception(“算术异常的例子:); System.out.println(e.getMessage()); A x=new A(); System.out.println(x.div(5,0)); } } 算术异常的例子: Exception in thread main java.lang.ArithmeticException: / by zero at A.div(TestException2.java:4) at TestException2.main(TestException2.java:12) 异常处理的方法归纳为三种: (1)程序运行时异常,通常不处理,而由Java虚拟机自动处理。 (2)使用try-catch-finally语句捕获异常。 (3)使用子句th
原创力文档


文档评论(0)