ImageVerifierCode 换一换
格式:PDF , 页数:31 ,大小:995.78KB ,
资源ID:225309      下载积分:19 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/225309.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(《Java程序设计案例教程》教学课件07异常处理.pdf)为本站上传会员【曲****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

《Java程序设计案例教程》教学课件07异常处理.pdf

1、模块7异常处理学习目标了解异常产生的原因。了解Java异常体系结构,以及受检异常和未受检异常的区别。掌握使用try-catch-finally语句块捕捉并处理异常。掌握使用throw语句抛出异常,以及使用throws语句声明方法异常。掌握设计和使用用户自定义异常。技能目标能够在MyEclipse IDE中使用try-catch-finally语句块编写程序捕捉并处理 异常。01能够在MyEclipse IDE中使用throw语句编写程序抛出异常。02能够在MyEclipse IDE中使用throws语句编写程序声明方法异常。03能够在MyEclipse IDE中编写程序定义自己的异常。0407

2、回顾与思考Java语言的健壮性确保了在编程过程中出现的错误可以得到及时、有效的控制。但是,并不是所有错误都能在编译阶段被发现。有些错误只有在运行时才会发生。在编译或运行时发生的错误都被称为异常。在编译或运行时跟踪这些异常被称为异 常处理。Java的异常处理机制负责异常处理和错误恢复。如果把【例6-1】中的代码/zfor(int i=l;i myArray.length;i+)/改成/zfor(int i=l;i=myArray.length;i+),z,这时,编译可以通过。运行后在控制 台出现如下提示。Exception in thread main java.Iang.ArraylndexO

3、utOfBoundsException:8 at ch6.example.Example6_l.main(Example6_l.java:16)7.2异常与异常类7.2.1 Java异常体系结构Java中的异常有很多类型,包括在Java API中已经被定义的异常(也称系统异常)和用 户自定义异常。所有的异常类都直接或间接继承了Throwable类。Throwable类是。bject 类的直接子类。Th rowable类有两个直接子类:Exception类7.2异常与异常类7.2.2受检异常Exception类及其子类中除了RuntimeException类及其子类以外的异常被称为 受检异常(c

4、hecked exception)o受检异常在 编译阶段能被Java编译器检测到,不可回避,用 户必须对受检异常进行处理。7.2异常与异常类7.2.2受检异常【例7】受检异常示例。文件名为Example7_l.java,其代码如下。package ch7.example;public class Example7_l/*例7-1受检异常示例*authorJava程序设计案例教程*version 1.0public static void main(String args)加载连接MySQL数据库的jdbc驱动Class.forNameCcom.mysql.jdbc.Driver);)*/7.2

5、异常与异常类7.2.2受检异常【例7】受检异常示例。在/yClass.forName(com.mysql.jdbc.Dnver);/这条语句下出现了波浪线,光标停 留在该语句上会出现浮窗提示:未处理异常类型ClassNotFoundException,如图7-1所示OJQ Unhandled exception type ClassNotFoundException2 quick fixes available:Jg Add throws declarationJg Surround with try/catch图7-1受检异常未处理的浮窗提示7.2异常与异常类7.2.3未受检异常属于Runt

6、ime Exception类及其子类的异常和Error类及其 子类的异常被称为未受检异常(unchecked exception)o未 受检异常在编译阶段不能被Java编译器检测到。不强迫用户利用 异常处理机制对未受检异常进行处理。未受检异常的发生是因为 程序有逻辑错误。未受检异常首先且主要通过用户在程序编写过 程中避免。如果滥用异常处理机制处理(预防)未受检异常,程 序会变得臃肿,影响可读性。7.3异常处理结构7.3.1捕捉异常L try-catch语句块0可以使用try和catch语句块对程序中可能出现的异常进 行捕捉并处理。把可能产生异常的代码放置在try语句块内,catch语句块紧接着

7、try语句块之后。catch语句块中包含了处 理异常及输出异常产生原因的语句。一个catch语句块仅对应一个try语句块,但是一个try语句块可以对应多个(多重)catch语句块。U*authorJava程序设计案例教程7.3异常处理结构7.3.1捕捉异常1.try-catch语句块【例72】try-catch语句块应用示例。文件名为Example7_2java,其代码如下。package ch7.example;import java.util.InputMismatchException;import java.util.Scanner;import ch5.example.Circle;

8、version 1.0*/public static void main(String0 args)Scanner sc=new Scanner(System,in);System.out.print(“请输入圆的半径:”);trydouble radius=sc.nextDouble();Circle c=new Circle(radius);System.out.println(圆的半径为:+catch(InputMismatchException ime)c.getRadius();ime.printStackTrace();public class Example7_2*例7-2 t

9、r广catch语句块应用示例7.3异常处理结构7.3.1捕捉异常1.try-catch语句块【例72】try-catch语句块应用示例。程序运行后在控制台提示:请输入圆的半径:。如果用户不慎 输入了非数字字符,double radius=sc.nextDouble()这条语句就 会产生InputMismatchException异常。该异常在catch语句块中被捕捉。catch语句块中的printStackTrace()方法用于显示有关异常的信息,包含 产生异常的原因和产生异常的代码。7.3异常处理结构7.3.1捕捉异常 2.finally语句块finally语句块紧接着try-catch语句

10、块之后,是一个可选项。每个try 语句块至少有一个对应的catch语句块或finally语句块。无论try catch 语句块内发生什么,如果产生了异常,即便没有catch语句块与产生的异 常匹配,finally语句块也将执行。因此,在finally语句块中可以安排一 些将系统资源清理释放或输出消息的语句,如关闭文件、关闭数据库连 接等。7.3异常处理结构7.3.1捕捉异常 2.finally语句块【例73】try-catch-finally语句块应用示例。文件名为Example7_3.java,其代码如下。程序运行后在控制台提示:请输 入圆的半径:。如果用户输入了正常 的数字,那么运行结果如

11、下。其代码见P146-147。请输入圆的半径:2 圆的半径为:2.0 程序正常运行,即将关闭扫描器。7.3异常处理结构7.3.1捕捉异常 2.finally语句块【例73】try-catch-finally语句块应用示例。如果用户输入了非数字字符,那么运行结果如下。请输入圆的半径:a程序正常运行,即将关闭扫描器。java,util.InputMismatchExceptionat java.util.Scanner.throwFor(Scanner,java:840)at java.util.Scanner,next(Scanner,java:1461)at java.util.Scanner

12、nextDouble(Scanner,java:2387)at ch7.example.Example7_3.main(Example7_3.jaua:19)7.3异常处理结构7.3.1捕捉异常3.多重catch语句块如果一段程序会产生多个异常,必须使用多重catch语 句块分别捕捉每个异常。按照异常出现的顺序来查看每个 catch语句块,并执行与异常匹配的第一个语句块,其他 catch语句块将被忽略,程序控制流程转到try catch语句 块后面的语句。编写每个catch语句块时要尽量具体,以便 尽可能多地获得所产生异常的报告。7.3异常处理结构7.3.1捕捉异常3.多重catch语句块【

13、例74】多重catch语句块应用示例。文件名为Example7_4.java,其代码如下。package ch7.example;public class Example7_4/*例7-4多重catch语句块应用示例*authorJava程序设计案例教程*vers ion 1.0*/tryString str args0;int num=Integer.parselnt(str);catch(ArrayIndexOutOfBoundsException aioobe)System.out.printin(未给出参数!”);catch(NumberFormatException nfe)Syst

14、em.out.printin(不是一个数字!);public static void main(String口 args)7.3异常处理结构7.3.1捕捉异常3.多重catch语句块【例74】多重catch语句块应用示例。如果运行配置未输入参数,控制权转到第一个catch语句块,运行结果如下。未给出参数!如果运行配置输入了非数字参数,控制权转到第二个catch语句块,运行结果如下。不是一个数字!7.3异常处理结构7.3.1捕捉异常3.多重catch语句块007-5多重catch语句块排列顺序示例。文件名为Example7_5.java,其代码如下。package ch7.example;pub

15、lic class Example7_5/*例7-5多重catch语句块排列顺序示例*authorJava程序设计案例教程*version 1.0*/public static void main(String args)try(double d=10/0;catch(ArithmeticException ae)ae.printStackTrace();catch(RuntimeException re)re.printStackTrace();catch(Except ion e)e.printStackTrace();7.3异常处理结构7.3.1捕捉异常3.多重catch语句块007-5

16、多重catch语句块排列顺序示例。如果把第三个catch语句块和第一个catch语句块互换,则会出现浮窗提示:不可达到的 子类catch语句块。编译不能通过,如图7-2所示。图7-2不可达到的子类catch语句块7.3异常处理结构7.3.2 抛出异常在程序中可以用throw语句引发明确的异常,执行流程在throw语句后立即停止,给用 户以提示。throw语句的基本语法格式如下。throw异常类实例;其中,异常类实例指Throwable类或其子类的实例。7.3异常处理结构7.3.3 声明异常一个方法(包括构造方法、成员方法)被调用执行时可以引发多个异常。定义这样的方 法必须加上关键字th row

17、s声明异常。th rows语句的基本语法格式如下。方法名(形式参数列表)throws异常类1,异常类2,if(异常条件1成立)throw new 异常类 1();if(异常条件2成立)throw new 异常类 2();7.3异常处理结构7.3.3声明异常【例76】声明并抛出异常示例。文件名为Example7_6.java,其代码如下。口当用户分别输入数字1和2时,分 别抛出ArraylndexOutOfBoundsException 异常和 IllegalAccessException 异常。其代码见P150-15L7.4自定义异常Java API提供的异常类型并不总能满足所有异常捕捉的需求

18、用户可以定义自己的异常。用户自定义异常必须是Throwable类的直接或间接子类。通常用户自定义异常直接继承Exception类。创建自定义异常的目的是为代码可能发生的错误类型提供新的含义。74自定义异常【例77】自定义异常示例。首先定义用户异常,文件名为MyException.java,其代码如下。package ch7.example;public class MyException extends Exception/*例7-7自定义异常示例*authorJava程序设计案例教程*version 1.0*/MyException(String errorMsg)super(errorW

19、sg);74自定义异常【例77】自定义异常示例。然后,重新定义模块5中Circle类的构造方法Circle(double radius)和成员方法 setRadius(double radius)方法。完整的Circle类代码如下。_其代码见P152-153。最后,编写测试类。文件名为Example7_7.java,其代 码如下。_立_其代码见P153-154。Java的异常处理机制保证了程序的运行不受异常干扰而正 常进行。Java中的异常类型包括系统异常和用户自定义异常。系统异常根据能否通过编译分为受检异常和未受检异常。Java 使用try catch finally语句块捕捉并处理异常,使

20、用th row语 句抛出异常,使用throws语句声明方法异常。用户可以根据需 要定义自己的异常。用户自定义异常必须直接或间接继承 Exception 类。7.6习题1.f i n a I ly语句块能位于ca tc h语句块之前 吗?找个例子改一改,看看上机能否通过。2.简述异常的分类及各自的处理方法。3.下列代码片段运行有问题吗?上机试 一试。trySystem.out.printin(传递的参数是:+args0);tryint numValue=Integer.parseInt(argsO);System.out.println(argsO+”的 平方 是:+Math.pow(numVa

21、lue,2);catch(NumberFormatException nfe)System.out.print In(不是一个数字!);catch(ArrayIndexOutOfBoundsException aioobe)System.out.println(请输入参数!”);4.修改模块4的习题4,如果三角形的3条边长不满足构成 三角形的条件,则引发异常。7.7上机实践1.定义一个数组,其长度由Math.random。方法决定,如 果为0,则引发异常并进行捕捉。2.修改模块4上机实践2,如果一元二次方程没有实数解,则引发异常并进行处理。3.编程接收用户输入的手机号码,如果出现不是以数字 1开头,长度不是11位,号码中出现非数字等情况,将引 发异常并进行处理。4.编程接收用户输入的成绩,如果输入的成绩小于0或大 于100,则提示异常信息请输入正确的成绩。创建自定义 异常满足上述要求。谢谢观看!

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服