实验5异常处理

上传人:ji****n 文档编号:45641845 上传时间:2018-06-18 格式:DOC 页数:10 大小:67.50KB
返回 下载 相关 举报
实验5异常处理_第1页
第1页 / 共10页
实验5异常处理_第2页
第2页 / 共10页
实验5异常处理_第3页
第3页 / 共10页
实验5异常处理_第4页
第4页 / 共10页
实验5异常处理_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《实验5异常处理》由会员分享,可在线阅读,更多相关《实验5异常处理(10页珍藏版)》请在金锄头文库上搜索。

1、实验 5 异常处理5.1 实验目的(1)掌握异常处理的编程特点。(2)了解 Java 异常分类层次,常见系统异常。(3)了解自定义异常的定义及方法异常的抛出与处理。5.2 知识要点Java 把异常加入 Java 语言的体系结构,为异常定义了类和关键字,简化了错误处理代码。将错误处理从正常的控制流中分离出来,对错误实施统一处理。5.2.15.2.1 异常处理结构异常处理结构try 语句块; catch (异常类名 1 参变量名) 语句块; catch (异常类名 2 参变量名) 语句块; finally 语句块; 说明:(1)finally 总是执行,它是异常处理的统一出口,常用来实现资源释放,

2、文件关闭等。(2)发生异常时 try 块内的后续语句不再执行;(3)catch 按照次序进行匹配检查处理,找到一个匹配者,不再找其它;catch 的排列要按照先个别化再一般化的次序。不能将父类异常排在前、子类异常排在后。5.2.25.2.2 常见系统异常常见系统异常常见系统异常如表 5-1 所示。表 5-1 常见系统异常异常异常的解释ClassNotFoundException 未找到要装载的类 ArrayIndexOutOfBoundsException 数组访问越界 FileNotFoundException 文件找不到 IOException 输入、输出错误 NullPointerExc

3、eption 空指针访问 ArithmeticException 算术运算错误,如除数为 0 NumberFormatException 数字格式错误 InterruptedException 中断异常。 5.2.35.2.3 自定义异常自定义异常(1)定义异常类继承 Exception 类(2)在方法内抛出异常throw new 异常类();(3)声明方法存在异常在方法头的尾部加上:throws 异常类列表 5.3 样例程序样例样例 1 1:从键盘输入一个十六进制数,将其转化为十进制输出。如果输入的不是一个有效的十六进制数数字则抛出异常。提示:可以先编写一个方法将一个十六进制的数字转化为十进

4、制对应的数值,方法在数字非法时产生异常。【参考程序】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)数

5、据格式错!【编程技巧】(1) 如何从输入字符串中取出构成复数的数据;先查找分隔符,然后利用取子串方法。两个复数之间的分隔符是“+”, 一个复数内 x,y 的分隔符是逗号。(2) 如果分析数据时出现格式错误要进行异常处理。5.4 上机练习 基本题基本题1 1) 利用如下方法计算一元二次方程的根,可以设计一个图形界面输入 A,B,C 值,点击“求解”按钮进行计算,结果显示在一个标签中。 注意代码的异常处理。static double root(double A, double B, double C) throws IllegalArgumentException intint x=newx=ne

6、w int2;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 4 if ( s != null 6 if ( s != null | s.length() 0)7 System.out.println(“s != null 8 if ( s != null | s.length() 0)9 System.out.println(“s != null | s.length()

7、 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、

8、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() 抛出 NumberFormatException,则输出结果是? A. 无输出 B. “exception 1“, 后跟 “finally“ C. “exception 2“, 后跟 “finally“ D. “exception 1“ E. “exception 2“

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 初中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号