- 1、本文档共47页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
6.3 自定义异常类 除了可以使用java包中预定义的异常类,Java还允许自定义异常类来处理特殊的情况。用户自定义异常类主要用来处理用户程序中特定的逻辑运行错误。 自定义异常类一般都是以Exception类为父类。 自定义异常类对象只能用throw语句抛出。 【例6-8】自定义异常类举例。 import java.util.Scanner; public class Ex6_8_DefineException { public static void main(String[] args) { final int MIN=25,MAX=40; Scanner scan=new Scanner(System.in); OutOfRangException problem=new OutOfRangException(); System.out.print(输入+MIN+至+MAX+之间的整数:); try{ int value=scan.nextInt(); if(valueMIN||valueMAX) throw problem; //抛出自定义异常 }catch(OutOfRangException e){ System.out.println(e.toString()); } System.out.println(主方法结束.); } } //自定义一个异常类,类名为:OutOfRangException class OutOfRangException extends Exception{ OutOfRangException(){ super(输入数据超出范围!); } } 6.3 自定义异常类 程序中用户自定义了一个异常类OutOfRangException,继承了Exception类,只有一个不带参数的构造方法。当然,可以有更多的数据成员和方法成员,以满足用户的需要。 运行该程序时,主方法读入一个整数,检测该数据是否在有效值范围内,如果超出有效值范围,将执行throw语句,抛出一个用户自定义异常。 在主方法中使用throw语句显式抛出异常,如果不使用try-catch-finally语句捕获和处理,则必须在主方法说明中增加异常抛弃声明:throws OutOfRangException ,否则有编译错误提示。 6.3 自定义异常类 6.4 综合应用 下面是两个Java程序中处理异常的实例,以说明异常处理的应用。 【例6-9】根据输入的元素位置值查找数组元素的值。 import java.io.*; public class Ex6_9_ExceptionDemo { public static void main(String[] args){ int arr[]={100,200,300,400,500,600}; String index; int position; BufferedReader inputReader = new BufferedReader(new InputStreamReader(System.in)); while(true){ System.out.print(输入序号(输入end结束):); try{ index=inputReader.readLine(); //可能产生异常 if(index.equals(end)) break; position=Integer.parseInt(index); //可能产生异常 System.out.println(元素值为:+arr[position]); //可能产生异常 }catch(ArrayIndexOutOfBoundsException e){ System.out.println(数组下标越界!); }catch(NumberFormatException e){ System.out.println(请输入一个整数!); }catch(IOException e){} } System.out.println(程序运行结束.); } } 6.4 综合应用 程序运行情况如下: 输入序号(输入end结束):3 元素值为:400 输入序号(输入end结束):a1 请输入一个整数! 输入序号(输入end结束):5 元素值为:600 输入序号(输入end结束):7 数组下标越界
您可能关注的文档
最近下载
- 湘教版二年级下册音乐全册教案.docx
- SH/T 3613-2013-石油化工非金属管道工程施工技术规范.pdf
- 2024年北京社会管理职业学院单招英语题库及答案解析.docx
- 《大学物理教学课件》广工大:(改) 16-5麦克斯韦电磁场理论.ppt VIP
- 第5章 飞机燃油系统《航空器系统与动力装置》.pptx VIP
- 英语3分钟演讲PPT.ppt
- MIDIPLUS_X_Pro_mini_series英文使用说明书.pdf
- 2024年中考英语试题及答案 (1) .pdf VIP
- 酒店员工仪容仪表礼节礼貌培训.pptx VIP
- 2024年湘潭医卫职业技术学院高职单招职业技能测验历年参考题库(频考版)含答案解析.docx
文档评论(0)