- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
【例8-1】要求从控制台不断输入两个整数到变量a和b中,之后计算a/b并输出到控制台。 //例8-1代码DivExcep.java import java.util.Scanner; public class DivExcep { public static void main(String[] args) { int a ,b,c; Scanner scanin=new Scanner(System.in); String yes=y; while(yes.equalsIgnoreCase(y)) { System.out.println(请输入两个整数a、和b,计算a/b!); a=scanin.nextInt();//获取第一个整数给a b=scanin.nextInt();//获取第二个整数给b c = a / b; System.out.println(a/b = + c); System.out.println(还要继续吗:(y/n)); yes=scanin.next(); } } } 在例8-1执行过程中当发生除数为0(如上面输入4和0给a、b)时,程序中产生异常,系统自动创建一个ArithemticException类型的异常对象,并抛给系统作默认处理,系统的默认处理过程只是简单地终止程序的执行。很显然,此时用户并不期望程序被强迫退出,因为类似的输入只是一种偶然,程序应该允许继续执行下去。 为此Java对产生的异常对象允许由程序自行处理,如果程序中自行处理了异常对象则该对象不再抛给系统作默认处理。 对例8-1用异常机制进行修正: 8.1 Java 异常处理机制介绍 import java.util.Scanner; public class DivExcep1 { public static void main(String[] args) { int a,b,c; Scanner scanin=new Scanner(System.in); String yes=y; while(yes.equalsIgnoreCase(y)) { System.out.println(请输入两个整数a、和b,计算a/b!); a=scanin.nextInt(); b=scanin.nextInt(); try { // try块中,是可能抛出异常的程序代码。 c = a / b; System.out.println(a/b = + c); } //上面语句产生异常时该语句不会被执行 catch (ArithmeticException e) { //catch块,捕获异常后执行的代码块 System.out.println(e.toString()+异常); } System.out.println(还要继续吗:(y/n)); yes=scanin.next(); } } } 比较修正之前和修正之后两代码的执行结果发现,例8-1经过用异常机制修正后若输入的数(a、b)中b不为0,则其效果和修正之前是一样的,否则(出现除数为0的输入)程序并不会终止,只是输出一些提示信息(“对不起,除数不能为0!”),随后继续执行下去。 显然,这样的程序肯定是受用户欢迎的,由此可以看出Java异常机制的优越性。 Java的异常机制主要有try块和catch块两部分。 在try块中系统检测是否有异常产生,如有则抛出相应的异常对象。在catch块中捕获相应的异常对象,同时执行一定的语句来处理该异常。 上面的修正代码中当出现除数为0的输入且程序执行到a/b时,系统将自动创建一个ArithmeticException类型的异常对象并抛出,执行流程跳出try块转到catch块进行捕获异常处理,若catch块中给出的异常类型与抛出的异常对象类型匹配则执行该catch块中的语句,否则继续往下匹配,如果程序没有给出该类型的异常处理代码块,则该异常对象将被抛给系统做默认处理。 8.2 异常处理方式 前一节已经讲过Java语言异常处理的好处以及简单
您可能关注的文档
- Internet技术与应用(第二版)尚晓航 主编 第8章 Internet上的网络新闻新.ppt
- Internet技术与应用(第二版)尚晓航 主编 第11章新.ppt
- Internet技术与应用(第二版)尚晓航 主编 第12章新.ppt
- Internet技术与应用教程 曲桂东 毕燕丽 主编 第1章Internet基础知识新.ppt
- Internet技术与应用教程 曲桂东 毕燕丽 主编 第2章Internet的接入方式新.ppt
- Internet技术与应用教程 曲桂东 毕燕丽 主编 第3章网页的浏览与管理新.ppt
- Internet技术与应用教程 曲桂东 毕燕丽 主编 第4章搜索引擎的使用新.ppt
- Internet技术与应用教程 曲桂东 毕燕丽 主编 第7章网络娱乐与互动新.ppt
- Internet技术与应用教程 曲桂东 毕燕丽 主编 第8章网上学习与生活新.ppt
- Internet技术与应用教程 曲桂东 毕燕丽 主编 第9章 网上电子商务系统新.ppt
文档评论(0)