版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验 5 异常处理5.1 实验目的掌握异常处理的编程特点。了解 Java 异常分类层次,常见系统异常。了解自定义异常的定义及方法异常的抛出与处理。5.2 知识要点Java把异常加入 Java 语言的体系结构,为异常定义了类和关键字,简化了错误处理代 码。将错误处理从正常的控制流中分离出来,对错误实施统一处理。5.2.1 异常处理结构try 语句块; catch ( 异常类名语句块;1 参变量名 ) catch ( 异常类名语句块;2 参变量名 ) finally 语句块;说明:finally 总是执行,它是异常处理的统一出口,常用来实现资源释放,文件关闭 等。发生异常时 try 块内的后续语句
2、不再执行;catch 按照次序进行匹配检查处理, 找到一个匹配者, 不再找其它; catch 的排列要按照先个别化再一般化的次序。不能将父类异常排在前、子类异常排在后。5.2.2 常见系统异常常见系统异常如表 5-1 所示。表 5-1 常见系统异常异常异常的解释ClassNotF oun dExce ptio n未找到要装载的类ArrayI ndexOutOfB oun dsExce ptio n数组访问越界FileNotF oun dExce pti on文件找不到IOExce pti on输入、输出错误Null Poin terExce ptio n空指针访问ArithmeticExce
3、ptio n算术运算错误,如除数为0NumberFormatExce pti on数字格式错误Interrup tedExce pti on中断异常。5.2.3 自定义异常(1) 定义异常类一继承Exce ption(2) 在方法内抛出异常throw new 异常类();(3) 声明方法存在异常在方法头的尾部加上:throws异常类列表5.3样例程序样例1:从键盘输入一个十六进制数,将其转化为十进制输出。如果输入的不是一个有 效的十六进制数数字则抛出异常。方法在数提示:可以先编写一个方法将一个十六进制的数字转化为十进制对应的数值, 字非法时产生异常。【参考程序】class MyExce pti
4、 on exte nds Exce pti on public Stri ng toStri ng() return 非十六进制字符”;p ublic class Hex2Dec p ublic static void main( Stri ng 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) 如何从输入字符串中取出构成复数的数
5、据;先查找分隔符,然后利用取子串方法。两个复数之间的分隔符是“ +”, 一个复数内 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 IllegalArgumentExceptio
6、n(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.o
7、ut.println(s != null | s.length() 0);以下行中哪些会产生空指针异常。A. 2,4B. 6,8C. 2,4,6,8D. 2,6,85) 类 Test1 、 Test2 定义如下:1public class Test1 2public float aMethodfloat afloat b ) throws IOException 354public class Test2 extends Test167将以下哪种方法插入行 6 是不合法的。A、float aMethod ( floata , float bB、public int aMethodint a ,
8、 int bthrows Exception C、public float aMethodfloat pfloat q ) D、public int aMethodint 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);如果 t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年会计学专业技术资格考试《企业会计准则与财务报表》备考题库及答案解析
- 2025年创业指导师职业资格考试《创业融资策略》备考试题及答案解析
- 2025年工程管理师备考题库及答案解析
- 商铺合作经营合同协议2025
- 全职2025年员工转兼职合同协议
- 汽车租赁经营合同协议2025年车辆保险
- 内容兼职合同协议2025年细则
- 借款合同协议2025年还款计划调整方案
- 2025年非全日制用工管理规定考试试题及答案
- 2025及未来5年中国手镯链市场调查、数据监测研究报告
- 2025年甘肃省庆阳市公安局面向社会招聘警务辅助人员58人考试参考试题及答案解析
- 急性心梗诊疗(2025指南)解读课件
- DL∕T 5366-2014 发电厂汽水管道应力计算技术规程
- 骨质疏松症的诊疗新进展
- 1996年劳动合同模板下载 全新版
- 预防校园欺凌行为
- 毛坯房验收清单
- 2024执业药师考试《药学综合知识与技能》真题及答案大全
- 宁夏绿电园区方案
- 《植物生产与环境》习题与参考答案
- 高速气浮电主轴校准规范
评论
0/150
提交评论