JAVA异常实验报告
JAVA实验报告5异常处理实验

JAVA实验报告5异常处理实验异常处理是Java程序设计中非常重要的一部分,能够有效地处理程序在运行过程中可能出现的异常情况。
在本次实验中,我们主要学习了Java中的异常处理机制,并对其进行了实践。
一、实验目的:1、学习Java中的异常处理机制;2、掌握如何使用try-catch来处理异常;3、了解Java中常见的异常类和异常处理语句的使用方法。
二、实验内容:1、编写一个Java程序,在程序中故意引发一个异常,然后使用try-catch语句来处理该异常,并在catch块中打印异常的详细信息;2、使用多个catch块来处理不同类型的异常,并在每个catch块中打印对应异常的详细信息;3、使用finally块来执行一些必须要执行的代码,比如关闭文件等。
三、实验步骤:1、首先,我们编写一个简单的Java程序,使用try-catch语句来处理异常。
假设我们在程序中故意除以0,然后在catch块中打印出异常信息。
代码如下:```public class ExceptionHandlingDemopublic static void main(String[] args)tryint result = 10 / 0;} catch (ArithmeticException e)System.out.println("发生异常:" + e);}}```2、接下来,我们使用多个catch块来处理不同类型的异常。
假设我们在程序中使用一个空数组,然后尝试访问数组的第一个元素。
如果数组为空,则会抛出ArrayIndexOutOfBoundsException异常。
代码如下:```public class ExceptionHandlingDemopublic static void main(String[] args)int[] array = new int[0];tryint firstElement = array[0];} catch (ArrayIndexOutOfBoundsException e)System.out.println("发生异常:" + e);} catch (Exception e)System.out.println("未知异常:" + e);}}```3、最后,我们使用finally块来执行一些必须要执行的代码。
实验十一 Java中的异常处理

实验十一Java中的异常处理x=n.nextInt();if(x!=999)sum+=x;}catch(InputMismatchException e){}System.out.println(sum);}}}class TestXin{/*** @param args*/public static void main(String[] args) { // TODO Auto-generated method stubXin n=new Xin();System.out.println(n);}}结果:五、实验总结(对本实验结果进行分析, 实验心得体会及改进意见)5.分析程序的运行结果(1)class A{A(){System.out.println("A structure!");}A(int m){System.out.println("A("+m+")");}}public class B extends A{B(int m){System.out.println("B("+m+")");}public static void main(String[] args) { // TODO Auto-generated method stubnew B(100);}}(2)class A{A(){System.out.println("A structure!");}A(int m){System.out.println("A("+m+")");}}public class B extends A{B(){System.out.println("B structure!");}B(int m){System.out.println("B("+m+")");}public static void main(String[] args) { // TODO Auto-generated method stubnew B(100);}}(3)class A{A(){System.out.println("A structure!");}A(int m){System.out.println("A("+m+")");}}public class B extends A{B(){System.out.println("B structure!");}B(int m){//super(m);System.out.println("B("+m+")");}public static void main(String[] args) { new B(100);}}(4)class A{A(){System.out.println("A structure!");}A(int m){System.out.println("A("+m+")");}}public class B extends A{B(int m){super(m);//System.out.println("B("+m+")");}public static void main(String[] args) { new B(100);} }。
java异常类实验报告

计算科学与工程(院、系)网络工程专业班组Java语言程序设计课学号姓名dong ge 实验日期教师评定实验四:异常类一、实验目的1、认识程序的逻辑运行错误,学习Java语言的异常处理机制。
2、加深异常处理机制的理解,认识Java语言中的常见异常类。
3、学习Java语言中多异常处理。
4、学习在方法中抛出异常,捕获并处理由方法抛出的异常。
5、学习自己定义异常类。
二、实验要求1、以上图为长方体类的继承关系,Rectangle为矩形类,为矩形类定义两个构造方法,分别带有两个参数和一个参数,其中带有两个参数的构造方法调用带有一个参数,toString()成员方法的功能显示矩形的长和宽以及面积;Cuboid为长方体类,为长方体类定义两个构造方法,分别带有三个参数和和没有参数,其中带有两个参数的构造方法调用父类带有两个参数的构造方法,长方体不需要计算周长返回0,toString()成员方法的功能显示长方体的长和宽、高以及体积;在主方法中定义对象测试所定义的类。
2、编写一个程序,抛出一个ArrayIndexOutOfBoundsException异常,并捕获处理。
3、自定义一个异常类,异常类中有一个带字符串参数的构造方法,将此参数赋值给异常类中惟一的字符串数据成员。
类中还定义一个成员方法,打印字符串数据成员。
在主方法中测试这个异常类。
三、实验程序和结果1、程序代码:interface Area {public double area();}interface Volume {public double volume();}class Rect implements Area{double Length;double Width;double area;Rect(){}Rect(double Length){this.Length=Length;System.out.println("没有参数的构造方法被调用"); }Rect(double Length, double Width){this(Length);this.Width=Width;System.out.println("一个参数的构造方法被调用"); }public double area(){return Length*Width;}public double perimeter(){return 2*(Length+Width);}public String toString(){return Length+" "+Width+" "+area();}}class Cuboid extends Rect implements Volume{double Height;Cuboid( ){System.out.println("没有参数的构造方法被调用"); }Cuboid(double Height,double Width,double Length){super(Length,Width);this.Height=Height;System.out.println("两个参数的构造方法被调用");}public double perimeter(){return 0;}public double volume (){return Height*Width*Length;}public String toString(){return Length+" "+Width+" "+Height+" "+volume();}}public class R{public static void main(String[] args){Rect n=new Rect(2.0,5.0);System.out.println ("长,"+"宽,"+"面积"+"分别为"+n.toString());Cuboid c=new Cuboid(5.0,6.0,8.0);System.out.println("长,"+"宽,"+"高,"+"体积"+"分别为"+c.toString());}}输出结果为:没有参数的构造方法被调用一个参数的构造方法被调用长,宽,面积分别为2.0 5.0 10.0没有参数的构造方法被调用一个参数的构造方法被调用两个参数的构造方法被调用长,宽,高,体积分别为8.0 6.0 5.0 240.02、:编写一个程序,抛出一个ArrayIndexOutOfBoundsException异常,并捕获处理。
JAVA实验报告5异常处理实验

JAVA实验报告5异常处理实验一、实验目的1. 了解Java异常处理机制;2. 掌握Java中异常处理的方式;3.熟悉自定义异常的方法。
二、实验内容本实验通过编写代码来体验Java中的异常处理机制,主要包括以下几个方面:1.了解异常的基本知识;2. 学习try-catch语句的使用方法;3. 掌握throws关键字的用法;4.编写自定义异常类。
三、实验步骤1. 编写一个“除法计算器”类DivideCalculator,该类有一个名为divide的方法,用于计算两个整数的商,并返回结果。
如果除数为0,则会抛出一个自定义的异常类DivideByZeroException;2. 在DivideCalculator类中,先使用try-catch语句来捕获DivideByZeroException异常,如果除数为0,则在控制台上打印出“不能除以0”的错误信息;3. 在该方法中再使用throws关键字将异常抛出,以便调用方能捕获该异常;4. 编写一个测试类CalculatorTest来测试DivideCalculator类,将两个整数输入给divide方法,观察控制台输出的结果;5. 在CalculatorTest类中使用try-catch语句来捕获DivideByZeroException异常,并打印出错误信息;6. 在CalculatorTest的main方法中调用divide方法,传入5和0作为参数;7.运行程序,观察控制台输出的结果。
四、实验结果根据实验步骤中的代码编写,可得到以下实验结果:1.当传入的除数为非零整数时,程序正常执行并返回正确结果;2. 当传入的除数为0时,程序会抛出自定义的异常DivideByZeroException,并在控制台上打印出错误信息"不能除以0";3. 在CalculatorTest的try-catch语句中捕获到DivideByZeroException异常,并打印出错误信息"不能除以0"。
JAVA异常处理实验报告-贺梦帆

JAVA语言程序设计实验报告实验二实验题目: 异常处理指导老师: 任姚鹏专业班级: 计算机科学与技术系1206班2015年5月14 日一、实验名称:异常处理及字符串相关方法二、实验目的:1. 掌握异常处理机制的运作2. 掌握处理异常的几个子句:try…catch..finally 、thorws和throw3. 掌握字符串类的相关操作三、实验内容:1. 编写一个类,在其main()方法中创建一个一维数组,在try字句中访问数组元素,使其产生ArraylndexOutOfBoundsException异常。
在catch子句里捕获此异常对象,并且打印“数组越界”信息,加一个finally 子句,打印一条信息以证明这里确实得到了执行。
2. 给定一个字符串,将字符串中的所有大写字母变成小写字母,数字用0 来代替,其他符号用#代替。
四、实验代码public class ArrayDome {public static void main(String[] args) {int a[]={ 1,2,3,4,5,6,7};try{for(int i=0;i<8;i++){System.out.println(a[i]);}}catch(Exception ex){ex.getStackTrace();System.out.println(" 数组越界");}finally{2.* @param args*给定一个字符串,将其中的所有大写字母转换为小写字母,数字用0代替,其他符号用#代替。
*/public static void main( Stri ng[] args) {Stri ng str="Some?th in g@123Doi ng";System.out.pri ntln(”原字符串为:"+str);Stri ngBuffer buf= new Stri ngBuffer();for(int i=0;i<str.length();i++){char ch=str.charAt(i);if(ch>='A'&&ch<='Z'){buf.appe nd(Character.toLowerCase(ch));}else if(ch>='a'&&ch<='z'){ buf.appe nd(ch);}else if(ch>=49&&ch<=58){ buf.appe nd(0);}else{buf.appe nd("#");}}System.out.println(”运行结果为:"+buf);}}运行结果:\ IHLI | <3jf 至百丄』#7十厶)・■FZIfiHi K/LI- J L IVO □ CrestExcise-clBss 2015/5/17 "CLASS 2<S CrestExcise.java ^015/5/17 呈期…JAVA 1KEQO ^31^: C :\Wr ndow5\s^t#in i2\cmd.exe五、实验总结:本次实验是在熟悉Java编程环境的情况下,运用所学制。
JAVA实验3-异常处理和常用实用类-报告

JAVA实验3-异常处理和常⽤实⽤类-报告信息⼯程学院1《Java语⾔程序设计》实验报告学院: 班级: 姓名: 学号: 成绩:⼀、实习⽬标(1)掌握Java的异常处理机制及相关实现⽅法;(2)掌握常⽤实⽤类的使⽤,熟悉使⽤JDK_API进⾏软件开发;(3)掌握Java中正则表达式的基本⽤法。
⼆、实验过程实验题1 try-catch练习:JAVA_API:getMassage():返回此throwable或exception的详细消息字符串,正数除0返回Infinity,负数除0返回-Infinity。
toString():对象利于null的详细消息字符串创建,则返回此对象的实际类的名称,返回此throwable的简短描述。
printStackTrace():将错误的详细信息追踪到代码中具体某⼀⾏,将throwable及其追踪输出⾄标准错误流。
代码截图:CatchError类:实验报告的内容与格式按任课教师的要求书写。
MainTest类:运⾏结果:实验题2 ⽤户⾃定义异常:在ExceptionTest类中进⾏成绩录⼊和平均成绩的计算。
StasticScore类为成绩录⼊的具体⽅法,并进⾏异常检测。
ScoreException类继承StasticScore,输出错误提⽰。
代码截图:ExceptionTest类:ScoreException类:StasticScore类:运⾏结果:实验题3 String & StringBuffer的使⽤:JAVA_API:Int indexOf(String str, int fromIndex)函数:返回指定⼦字符串在此字符串中第⼀次出现处的索引,从指定的索引开始。
如果不存在,返回-1。
Static String valueOf(int i)函数:返回int参数的字符串表⽰形式。
该表⽰形式正是单参数的interger.toString⽅法返回的结果。
Int indexOf(String str, int fromIndex)函数:返回指定⼦字符串在此字符串中第⼀次出现处的索引,从指定的索引开始。
java异常处理实验报告

java异常处理实验报告Java异常处理实验报告一、实验目的本次实验旨在通过编写Java程序,学习和掌握异常处理的相关知识和技巧,提高代码的健壮性和可靠性。
二、实验环境本次实验使用的开发环境为Eclipse,使用Java语言进行编程。
三、实验内容1. 异常的概念异常是指程序在运行过程中出现的意外情况,例如除零错误、数组越界等。
Java中的异常是以类的形式存在的,所有异常类都是Throwable类的子类。
2. 异常处理的方法Java提供了try-catch-finally语句用于处理异常。
在try块中编写可能会抛出异常的代码,如果发生异常,则会跳转到对应的catch块进行处理。
finally块中的代码无论是否发生异常都会被执行。
3. 异常的分类Java中的异常分为两种类型:受检异常(Checked Exception)和非受检异常(Unchecked Exception)。
受检异常需要在代码中显式地进行处理,否则编译器会报错;而非受检异常不需要强制处理。
4. 自定义异常除了使用Java提供的异常类,我们还可以根据需要自定义异常类。
自定义异常类需要继承Exception类或RuntimeException类,并重写相应的方法。
5. 异常处理的最佳实践在实际的软件开发中,异常处理是非常重要的一部分。
以下是一些异常处理的最佳实践:- 尽早捕获异常:在代码中尽量早地捕获异常,以避免异常的传播和影响其他部分的代码。
- 适当处理异常:根据具体情况,选择合适的处理方式,可以是打印日志、返回默认值、抛出新的异常等。
- 避免捕获过宽的异常:捕获异常时要尽量精确,避免捕获过宽的异常类型,以免屏蔽了真正的问题。
四、实验步骤1. 创建一个Java项目,并新建一个类用于实现异常处理的实验。
2. 编写代码,在try块中编写可能会抛出异常的代码。
3. 使用catch块捕获异常,并进行相应的处理,例如打印异常信息。
4. 在finally块中编写必要的代码,例如资源的释放。
JAVA异常实验报告

一. 实验目的及实验环境实验目的:1.理解JA V A对异常的处理2.掌握自定义异常的定义方式实验环境:eclipse 4.4二. 实验内容1.假设Sum类中有一个addContinue(int n)方法,当n>0时,方法翻译1+2+…+n 的和;当n<0时,方法抛出一个受检查的ArgumentException异常。
ArgumentException类应该提供一个能够接受并保存n值得构造方法,以及一个能返回n值得实例方法,现定义Sum类以及ArgumentException类,并编程测试它们。
三.方案设计1.定义三个类Sum,ArgumentException,Test类2.分别在类中实现加法,异常抛出和测试四.测试数据及运行结果1.正常测试数据(3组)及运行结果;2.非正常测试数据(2组)及运行结果。
五.总结1.实验过程中遇到的问题及解决办法;①中没有明确表示需要进行异常抛出很有可能就会忘记这个题目存在的问题。
所以平常程序设计时,应该多考虑不同的情况,防止程序出现不可逆的漏洞。
②如果发生可识别的运行错误,系统应产生一个相应的异常类对象,并进一步寻找异常处理代码来处理它,确保程序能从故障中恢复,之程序能够运行下去,直到结束。
2.对设计及调试过程的心得体会。
中断,影响程序正常运行的事件称为异常。
异常处理是使程序从故障中恢复,他包括提示异常信息、不产生无效结果和释放资源三方面内容。
其中,显示异常信息和不产生无效结果可通过try和catch块来实现,释放资源可通过finally块实现。
附代码public class Add {public int addContinue(int i) throws ArgumentException{int sum=0;if( i<0){throw new ArgumentException(i);}for(int n=0;n<=i;n++){sum=sum+n;}return sum;}}public class ArgumentException extends Exception {private int n;public ArgumentException(int n) {this.n = n;}public int getN(){return n;}}public class test {public static void main(String[] args){Add s = new Add();try {System.out.println(s.addContinue(-1));} catch (ArgumentException e) {System.out.println(e.getN());}}}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一. 实验目的及实验环境
实验目的:1.理解JA V A对异常的处理
2.掌握自定义异常的定义方式
实验环境:eclipse 4.4
二. 实验内容
1.假设Sum类中有一个addContinue(int n)方法,当n>0时,方法翻译1+2+…+n 的和;当n<0时,方法抛出一个受检查的ArgumentException异常。
ArgumentException类应该提供一个能够接受并保存n值得构造方法,以及一个能返回n值得实例方法,现定义Sum类以及ArgumentException类,并编程测试它们。
三.方案设计
1.定义三个类Sum,ArgumentException,Test类
2.分别在类中实现加法,异常抛出和测试
四.测试数据及运行结果
1.正常测试数据(3组)及运行结果;
2.非正常测试数据(2组)及运行结果。
五.总结
1.实验过程中遇到的问题及解决办法;
①中没有明确表示需要进行异常抛出很有可能就会忘记这个题目存在的问题。
所以平常程序设计时,应该多考虑不同的情况,防止程序出现不可逆的漏洞。
②如果发生可识别的运行错误,系统应产生一个相应的异常类对象,并进一步寻找异常处理代码来处理它,确保程序能从故障中恢复,之程序能够运行下去,直
到结束。
2.对设计及调试过程的心得体会。
中断,影响程序正常运行的事件称为异常。
异常处理是使程序从故障中恢复,他包括提示异常信息、不产生无效结果和释放资源三方面内容。
其中,显示异常信息和不产生无效结果可通过try和catch块来实现,释放资源可通过finally块实现。
附代码
public class Add {
public int addContinue(int i) throws ArgumentException{
int sum=0;
if( i<0){
throw new ArgumentException(i);
}
for(int n=0;n<=i;n++){
sum=sum+n;
}
return sum;
}
}
public class ArgumentException extends Exception {
private int n;
public ArgumentException(int n) {
this.n = n;
}
public int getN(){
return n;
}
}
public class test {
public static void main(String[] args){
Add s = new Add();
try {
System.out.println(s.addContinue(-1));
} catch (ArgumentException e) {
System.out.println(e.getN());
}
}
}。