ImageVerifierCode 换一换
格式:DOC , 页数:6 ,大小:5.47MB ,
文档编号:2047626      下载积分:8 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-2047626.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

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

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(罗嗣辉)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

1,本文(Java程序设计资料:单元12 自定义异常处理.doc)为本站会员(罗嗣辉)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!

Java程序设计资料:单元12 自定义异常处理.doc

1、单元 12 自定义异常处理单元目标 掌握自定义异常的创建和实现抛出的方法; 掌握 throw 的方法使用; 掌握 throws 方法使用; 理解 throws 和 throw 的区别;学习任务1.任务描述在数学计算或数字分析中, 经常会用到计算两个数的最大公约数的问题。 即:输入两个正整数,当两个数字有一个不是正整数时会产生异常。当输入非整数数字时,也产生异常。输入无错误后,可计算两个数的最大公约数。2.运行结果请输入数字 m:4请输入数字 n:264 和 26 的最大公约数 2数字-12 或 22 不是正整数知识准备12.1 自定义异常JAVA 内置的异常能够处理大多数常见的运行时错误,但也

2、可以自己定义,自定义异常通常重载 Exception 构造方法来得到。 创建自定义异常是为了表示应创建自定义异常是为了表示应用程序的一些错误类型,为代码可能发生的一个或多个问题提供新含义。用程序的一些错误类型,为代码可能发生的一个或多个问题提供新含义。如果Java 提供的系统异常类型不能满足程序设计的需求,我们可以设计自己的异常类型。用户定义的异常类型必须是 Throwable 的直接或间接子类。Java 推荐用户的异常类型以 Exception 为直接父类。创建用户异常的格式如下:class 异常类名异常类名 extends Exceptionpublic 异常类名异常类名(String m

3、sg)super(msg);最大公约数计算器设计最大公约数计算器设计注解:(1)使用关键字 extends 继承异常类 Exception,创建自己的异常类;(2)自定义异常的构造方法中参数 msg,用来给自定义异常命名。super 方法给其父类赋名称。【实例 3-13】定义一个自定义非整数异常。 【源代码】class NopositiveException extends ExceptionString message;NopositiveException(int m, int n) message = 数字 + m + 或 + n + 不是正整数;public String toStri

4、ng() return message;12.2 抛出异常 throw在程序设计时有些异常不是系统可以判定的, 当逻辑条件满足某种特定情况时则要主动 (手动) 抛出异常, 即使用 throw 语句抛出异常, 它的基本格式如下:throw 异常实例对象异常实例对象;这里异常实例对象一定是 Throwable 类或者它的一个子类。例如:throw new NopositiveException();/抛出非整数异常throw new ArrayIndexOutOfBoundsException();/抛出一个数组越界异常12.3 上报异常 throws如果一个方法可以导致一个异常但不处理该异常,就

5、可以使用 throws 语句来声明该异常,其基本语法格式为:返回值返回值方法名方法名(参数列表参数列表)throws 异常列表异常列表throws 字句列举了一个方法可能出现的所有异常类型,各个异常类型之间用逗号隔开。【实例 3-14】调用方法在控制台获得一个整数,getData 上报异常。在 Main 方法中捕获。 【源代码】import java.util.*;最大公约数计算器设计public class ThrowsDemo public static void getData() throws NumberFormatException throw new NumberFormatEx

6、ception();/ 格式不正确上报异常public static void main(String args) try getData(); catch (Exception e) System.out.println(e);该程序产生的输出如下:java.lang.NumberFormatException任务实施1实现思路分别输入两个整数可以用 java.util.Scanner 的 nextInt()方法。 但在程序运行时,会产生很多意想不到的输入问题,如输入的数字带小数或非数字时、特殊符号等,还有的情况是求公约数的数字为负数,程序的运行就不正确了,严重时程序发生中断,无法正确运行下

7、去。要保证程序的健壮性,可以采用异常捕获和处理技术。打开 Eclipse,创建一个类 MaxFactor;在类中定义一个方法,完成最大公约数的计算,声明该方法会抛出什么异常,同时在该方法内人为抛出一个异常对象;在 main 方法中调用定义的方法,并且捕获方法抛出的异常,并进行处理;2.程序代码 【源代码】import java.util.Scanner;class NopositiveException extends Exception/ 自定义的异常信息String message;NopositiveException(int m, int n) 最大公约数计算器设计最大公约数计算器设计

8、message = 数字 + m + 或 + n + 不是正整数;public String toString() return message;class Computer public int getMaxCommonDivisor(int m, int n) throws NopositiveException if (n = 0 | m = 0) NopositiveException exception = new NopositiveException(m, n);throw exception;if (m n) int temp = 0;temp = m;m = n;n = te

9、mp;int r = m % n;while (r != 0) m = n;n = r;r = m % n;return n;public class MaxFactorpublic static void main(String args) / 要输入的内容整数 m=24,n=36int m = 0, n = 0, result = 0;Computer a = new Computer();try Scanner input = new Scanner(System.in);System.out.print(请输入数字 m:);m = input.nextInt();System.out.

10、print(请输入数字 n:);n = input.nextInt();result = a.getMaxCommonDivisor(m, n);System.out.println(m + 和 + n + 的最大公约数 + result);m = -12;n = 22;result = a.getMaxCommonDivisor(m, n);System.out.println(m + 和 + n + 的最大公约数 + result); catch (NopositiveException e) System.out.println(e.toString();任务拓展我们在使用 JDK 的

11、API 帮助文档是用看到包中提供类的方法会说明在使用不当是会上报异常,下面我们以 String 类的 charAt(int index) 方法为例说明throws 的用法。打开 charAt 方法我们看到下列信息:charAt:public char charAt(int index)返回指定索引处的 char 值。索引范围为从 0 到 length() - 1。序列的第一个 char 值位于索引 0 处,第二个位于索引 1 处,依此类推,这类似于数组索引。 如果索引指定的 char 值是代理项,则返回代理项值。指定者:接口 CharSequence 中的 charAt参数:index - c

12、har 值的索引。返回:此字符串指定索引处的 char 值。第一个 char 值位于索引 0 处。抛出: IndexOutOfBoundsException - 如果 index 参数为负或小于此字符串的长度。在最后一行显示抛出 IndexOutOfBoundsException。也就是给定索引超范围会上报该【实例 3-15】对给定的字符串 title 求指定位置的字符。类异常。【源代码】import java.util.*;public class AddedDemo public static char getChar(String s) throws IndexOutOfBoundsEx

13、ception char c = s.charAt(50);return c;public static void main(String args) 最大公约数计算器设计String title = 山东商业职业技术学院:通讯地址:济南市旅游路 4516号;try char gchar = getChar(title); catch (IndexOutOfBoundsException e) System.out.println(e);该程序产生的输出如下:java.lang.StringIndexOutOfBoundsException: String index out of range: 50任务实训1.实训目的 掌握 throw 抛出异常; 掌握 throws 声明异常; 掌握自定义异常。2.实训内容给类的属性身份证号码 id 设置值,当给定的值长度为 18 时,赋值给 id,当值长度不为 18 时,抛出 IllegalArgumentException 异常,然后捕获和处理异常。请编写程序。最大公约数计算器设计

侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|