- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
运行结果 出现被0除的异常情况 java程序运行结束! 2 异常处理-捕获异常 finally语句 捕获异常的最后一步是通过finally语句为异常处理提供一个统一的出口,使得在控制流程转到程序的其他部分以前,能够对程序的状态作统一的管理。 无论try所指定的程序块中是否抛出异常,也无论catch语句的异常类型是否与所抛弃的异常的类型一致,finally所指定的代码都要被执行,它提供了统一的出口。 通常在finally语句中可以进行资源的清除工作,如关闭打开的文件、删除临时文件等。 try { in = new FileInputStream(“file1.txt”); 对文件进行处理的程序; }catch(IOException e) { //对文件异常进行处理; }finally { //不论是否发生异常,都关闭文件; } finally在文件处理时非常有用 异常的覆盖 finally代码段中应该把可能产生异常的语句用try-catch保护起来 if (in != null) { try { in.close(); }catch (IOException e){…} } //用try-catch结构,防止finally代码段抛出异常 throw和throws语句 如果在一个方法中生成了异常,但是该方法并不处理它产生的异常,而是沿着调用层次向上传递,交由调用它的方法来处理这些异常,这就是声明异常。 2 异常处理 public void method1() { int x; try{ System.out.print(Input x:); Scanner sc=new Scanner(System.in); x=sc.nextInt(); int z=compute(x); System.out.println(z=+z); }catch(ArithmeticException e){ System.out.println(devided by 0); } } public int compute(int x) throws ArithmeticException { int z = 100/x; return z; } method1 compute 异常 异常 抛出 处理 调用 非运行时异常 Throwable、Exception 运行时异常 Error、RuntimeException 当在一个方法的代码中抛出一个受检查的异常时,这个异常或者被方法中的try-catch结构捕获,或者在方法的throws语句中声明 编译器检查程序,保证所有非运行时异常都被程序显式地处理 Throwable Error Exception RuntimeException 2 异常处理 2 异常处理 声明异常首先必须生成异常。前面所提到的异常或者是由Java虚拟机生成,或者是由Java类库中的某些类生成。事实上,我们在程序中也可以生成自己的异常对象,也即是异常可以不是出错产生,而是人为地抛出。 不论那种方式,生成异常对象都是通过throw语句实现: throw new ThrowableObject(); ArithmeticException e = new ArithmeticException(); throw e; 注意:抛出的异常必须是Throwable或其子类的实例。 任何从Throwable派生的类都可以用throw语句抛出,抛出异常用来表明程序遇到的错误无法正常执行而需要异常处理 throw new MyException(“some infomation”); 异常可以由try代码段中的语句抛出 也可以从被try代码段中调用的方法中抛出 异常还可能产生于数组下标越界以及Java虚拟机内部错误等 Exception和Error是Throwable的直接派生类 Exception,程序应该处理的异常 Error代表系统严重错误,一般程序不处理这类错误 异常抛出点后的代码在抛出异常后不再执行 也可以说异常的抛出终止了代码段的执行 2 异常处理 3 自定义异常处理类 当我们在设计自己的类包时,应尽最大的努力为用户提供最好的服务,并且希望用户不要滥用我们所提供的方法,当程序出现某些异常事件时,我们希望程序足够健壮以从程序中恢复,这时就需要用到异常。在选择异常类型时,可以使用Java类库中已经定义好的类
原创力文档


文档评论(0)