




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验5 异常处理5.1 实验目的(1)掌握异常处理的编程特点。(2)了解Java异常分类层次,常见系统异常。(3)了解自定义异常的定义及方法异常的抛出与处理。5.2 知识要点 Java把异常加入Java语言的体系结构,为异常定义了类和关键字,简化了错误处理代码。将错误处理从正常的控制流中分离出来,对错误实施统一处理。5.2.1异常处理结构try 语句块; catch (异常类名1 参变量名) 语句块; catch (异常类名2 参变量名) 语句块; finally 语句块; 说明:(1)finally总是执行,它是异常处理的统一出口,常用来实现资源释放,文件关闭等。(2)发生异常时try块内的后续语句不再执行;(3)catch按照次序进行匹配检查处理,找到一个匹配者,不再找其它;catch的排列要按照先个别化再一般化的次序。不能将父类异常排在前、子类异常排在后。5.2.2 常见系统异常常见系统异常如表5-1所示。表5-1 常见系统异常异常异常的解释ClassNotFoundException 未找到要装载的类 ArrayIndexOutOfBoundsException 数组访问越界 FileNotFoundException 文件找不到 IOException 输入、输出错误 NullPointerException 空指针访问 ArithmeticException 算术运算错误,如除数为0 NumberFormatException 数字格式错误 InterruptedException 中断异常。 5.2.3 自定义异常(1)定义异常类继承Exception类(2)在方法内抛出异常 throw new 异常类();(3)声明方法存在异常 在方法头的尾部加上:throws 异常类列表 5.3 样例程序样例1:从键盘输入一个十六进制数,将其转化为十进制输出。如果输入的不是一个有效的十六进制数数字则抛出异常。提示:可以先编写一个方法将一个十六进制的数字转化为十进制对应的数值,方法在数字非法时产生异常。【参考程序】class MyException extends Exception public String toString() return 非十六进制字符; public class Hex2Dec public static void main(String args) String hex; long dec; hex = args0; dec = 0; for ( int i = 0; i java Complexadd (3,4i)+(5,8i)结果为(8.0,5.0)D:abcjava Complexadd (3,4i)+(5,8ai)数据格式错!【编程技巧】(1) 如何从输入字符串中取出构成复数的数据;先查找分隔符,然后利用取子串方法。两个复数之间的分隔符是“+”, 一个复数内x,y的分隔符是逗号。(2) 如果分析数据时出现格式错误要进行异常处理。5.4 上机练习 基本题1) 利用如下方法计算一元二次方程的根,可以设计一个图形界面输入A,B,C值,点击“求解”按钮进行计算,结果显示在一个标签中。 注意代码的异常处理。static double root(double A, double B, double C) throws IllegalArgumentException int x=new int2; if (A = 0) throw new IllegalArgumentException(A 不能为零.); else double disc = B*B - 4*A*C; if (disc 0) 3 System.out.println(s != null & s.length() 0); 4 if ( s != null & s.length() 0) 5 System.out.println(s != null & s.length() 0); 6 if ( s != null | s.length() 0) 7 System.out.println(s != null & s.length() 0); 8 if ( s != null | s.length() 0)9 System.out.println(s != null | s.length() 0);以下行中哪些会产生空指针异常。 A. 2,4 B. 6,8 C. 2,4,6,8 D. 2,6,85) 类Test1、Test2定义如下:1public class Test1 2 public float aMethod(float a,float b) throws IOException 3 4 5 public class Test2 extends Test167 将以下哪种方法插入行6是不合法的。A、float aMethod(float a,float b) B、public int aMethod(int a,int b)throws Exception C、public float aMethod(float p,float q) D、public int aMethod(int a,int b)throws IOException 6)设有如下代码: try tryThis(); return; catch (IOException x1) System.out.println(exception 1); return; catch (Exception x2) System.out.println(exception 2); return; finally System.out.println(finally); 如果tryThis
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 部队住房保障体系课件
- 河南省安阳市林州市2024-2025学年八年级上学期第三次阶段自评生物试题(含答案)
- 2025年三年级下册数学期中试卷
- 部室人员安全培训课件
- 基于区块链的分布式制播版权存证体系如何解决二次剪辑内容确权难题
- 基于人工智能的分光密度仪异常光谱预警系统开发中的特征工程瓶颈
- 城市更新中转角地块复合功能开发的法律权属界定难题
- 双碳目标下的环保材料重构与成本控制两难抉择
- 医药级1-苯酚-4-磺酸晶型调控技术对制剂稳定性的影响分析
- 医疗废弃物智能分类系统与一次性塑柄采血针回收效率优化路径
- 安宁疗护知到智慧树章节测试课后答案2024年秋沧州医学高等专科学校
- 初中生人身安全教育
- 中医药膳学知识学习考试题库300题(含答案)
- 胸外科快速康复护理
- 海上平台油泵智能监控系统设计
- (完整)高中英语3500词汇表
- 2024年秋季1530安全教育记录
- 中国人寿养老保险股份有限公司江西省分公司招聘笔试题库2024
- 体育学习兴趣量表
- ISO 55001-2024 资产管理-资管理体系-要求(中文版-雷泽佳翻译-2024)
- 国际贸易学课件:关税
评论
0/150
提交评论