《异常处理实验》由会员分享,可在线阅读,更多相关《异常处理实验(6页珍藏版)》请在金锄头文库上搜索。
1、异常处理一、实验目的:理解 java 语言中独特的异常处理机制;掌握异常处理方法; 正确地使用捕获异常和声明抛弃异常的两种异常处理的方法; 理解自定义异常类的使用;理解抛出异常和声明抛出异常的区别与联系;二、实验内容:1从命令行得到5个整数,放入一整型数组,然后打印输出,要求:如 果输入数据不为整数,要捕获Integer.parselnt()产生的异常,显 示“请输入整数”,捕获输入参数不足5个的异常(数组越界),显示 “请输入至少5个整数”。2. 写一个方法void sanjiao(int a,int b,int c),判断三个参数是否 能构成一个三角形,如果不能则抛出异常IllegalAr
2、gumentException, 显示异常信息a,b,c+”不能构成三角形”,如果可以构成则显示三角 形三个边长,在主方法中得到命令行输入的三个整数,调用此方法,并 捕获异常。3. 自定义类Sanj,其中有成员x,y,z,作为三边长,构造方法Sanj(a,b,c) 分别给 x,y,z 赋值,方法求面积 getArea 和显示三角形信息(三个边 长)showInfo,这2个方法中当三条边不能构成一个三角形时要抛出自 定义异常NotSanjiaoException,否则显示正确信息。在另外一个类中 的主方法中构造一个Sanj对象(三边为命令行输入的三个整数),显示 三角形信息和面积,要求捕获异常。
3、三、实验要求:1. 通过实验掌握捕获异常和声明抛弃异常的两种异常处理的方法;2. 程序必须能够捕获Integer.parselnt()产生的异常并作相应的处理;3. 程序必须能够将处理的相应的信息输出出来;4. 写出实验报告。要求记录编译和执行Java程序当中的系统错误信息提材 示,并给出解决办法。(附运行界面、源代码)。四、实验步骤:1 从命令行得到 5 个整数,放入一整型数组,然后打印输出,要求:如 果输入数据不为整数,要捕获Integer.parselnt()产生的异常,显 示“请输入整数”,捕获输入参数不足 5 个的异常(数组越界),显示 “请输入至少 5 个整数”。package j
4、avaTest;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Gui_28 public static void main(String args) / TODO Auto-generated method stubint a=new int10;String str=null;BufferedReader buf=new BufferedReader( newInputStreamReader(System.in);int i;for
5、(i=0;i3;i+)Sys tem.out.prin tin(” 请输入一个数字”);try str = buf.readLine(); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace(); ai=Integer. parseInt (str);tryif(ic&a+cb&b+ca)System.out.println(a+,+b+,+c);elseSystem.out.println(new IllegalArgumentException(a,b,c);class IllegalArgume
6、ntException extends ExceptionIllegalArgumentException(int a,int b,int c)super(a+,+b+,+c+不能构成三角形”);c&a+cb&b+ca)System.out.println(area);elseSystem.out.println(new NotSanjiaoException(a,b,c).toString(); public void showInfo(int a,int b,int c)if(a+bc&a+cb&b+ca)System.out.println(a+,+b+,+c);elseSystem.o
7、ut.println(new NotSanjiaoException(a,b,c).toString();class NotSanjiaoException extends ExceptionNotSanjiaoException(int x,int y,int z) super(x+,+y+,+z+不能构成三角形);Probl回 Javadoc 圏 Declaration / Search Console 戏星 Gji_20 卩ava Application l:JDKbjnjavavir.exe (2014-11 月E6.01参考下面的程序,试修改程序,捕获相关异常,使得程序能正常运行。提
8、 示:用错误数据测试,即可得到异常类名,运行时主方法参数输入abc测试package javaTest;public class StringIndexOutOfpublic static void main(String args)trySys tem.out.prin tln(字符串索引越界异常);String str=args0;Sys tem.out.prin tln(第四个字符为+s tr.charA t(3);int aa=Integer.parselnt (0);Sys tem.out.prin tln(平方为+aa*aa);catch(ArrayIndexOutofBoundsException e)System.out.println(e.toString();宇袴串萸丁越里异率,必rr日如LrtOfEioLjnM=E乂uw口ticn :尅五、实验总结本次试验是异常处理实验,针对异常的处理有两种方法,捕获或者抛出异常,通过本次试验 我学会了异常的处理以及自定义异常,为以后的查错打下基础。