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());}}}。
java异常处理实验报告
java异常处理实验报告Java异常处理实验报告引言:异常处理是Java编程中非常重要的一部分,它能够帮助我们优雅地处理程序中可能出现的错误情况,提高程序的健壮性和稳定性。
本实验旨在通过编写一段简单的Java代码,来探索异常处理的机制和应用。
实验过程:在实验中,我们编写了一个简单的Java程序,用于模拟一个学生信息管理系统。
该程序包含了以下几个功能:添加学生信息、查询学生信息、删除学生信息和修改学生信息。
在每个功能中,我们故意引入了一些可能导致异常的情况,以便验证异常处理的效果。
首先,我们创建了一个名为"Student"的类,用于表示学生的信息。
该类包含了学生的姓名、年龄和成绩等属性,并提供了相应的getter和setter方法。
接着,我们创建了一个名为"StudentManagementSystem"的类,用于实现学生信息的管理功能。
在添加学生信息的功能中,我们通过捕获可能抛出的"NullPointerException"异常来处理可能出现的空指针异常。
当用户输入的学生信息为空时,程序将抛出该异常并给出相应的提示信息,避免程序崩溃。
在查询学生信息的功能中,我们通过捕获可能抛出的"IndexOutOfBoundsException"异常来处理可能出现的数组越界异常。
当用户输入的学生索引超出了学生信息数组的范围时,程序将抛出该异常并给出相应的提示信息,避免程序崩溃。
在删除学生信息的功能中,我们通过捕获可能抛出的"NumberFormatException"异常来处理可能出现的数字格式异常。
当用户输入的学生索引不是一个合法的数字时,程序将抛出该异常并给出相应的提示信息,避免程序崩溃。
在修改学生信息的功能中,我们通过捕获可能抛出的"InputMismatchException"异常来处理可能出现的输入不匹配异常。
java异常处理实验结论 -回复
java异常处理实验结论-回复【java异常处理实验结论】在开发过程中,异常处理是一个至关重要的问题。
异常处理允许开发者在程序运行过程中,捕获并处理潜在的错误情况,以避免程序的崩溃或异常行为。
本文将通过实验探讨Java中异常处理的相关原理和方法,并总结实验结论。
首先,我们需要了解异常是什么。
在Java中,异常是指在程序运行过程中可能发生的错误或异常情况。
这些错误或异常情况可能是由于外部因素(如网络连接问题)、程序逻辑错误或用户输入不合法等原因引起的。
异常通过抛出和捕获机制来处理。
Java提供了一套完整的异常处理机制,以帮助开发人员捕获和处理异常。
异常处理的主要目标是提供一种对错误情况进行处理的方法,从而避免程序的崩溃或异常行为。
异常处理的主要思想是,在程序中进行适当的异常捕获,然后根据具体情况给予合适的处理和反馈。
为了更好地理解Java异常处理机制,我们进行了一系列的实验。
在实验中,我们模拟了几种常见的异常情况,并使用Java异常处理机制进行了处理。
实验的目的是验证Java异常处理机制的可行性和有效性。
实验一:ArithmeticException异常处理在该实验中,我们模拟了一个除零异常的情况。
在Java中,当一个数字尝试除以0时,会抛出ArithmeticException异常。
为了处理这种异常,我们使用了try-catch块来捕获该异常,并对异常进行了相应的处理。
实验结果表明,通过使用try-catch块来捕获ArithmeticException异常,我们能够有效地处理该异常,并避免程序的崩溃。
实验表明,Java 异常处理机制的确具有良好的可行性和有效性。
实验二:ArrayIndexOutOfBoundsException异常处理在该实验中,我们模拟了一个数组越界的异常情况。
在Java中,当我们尝试访问数组中不存在的索引时,会抛出ArrayIndexOutOfBoundsException异常。
java异常处理实验总结
java异常处理实验总结
在这个实验中,我们学习了Java中的异常处理机制。
异常是在程序执行过程中发生的错误或异常情况,例如除以零、数组越界等。
在Java中,异常被分为两种类型:受检异常和非受检异常。
受检异常是在代码中显式声明并处理的异常,需要在方法签名中声明并在方法体中捕获或抛出。
这样做是为了确保开发人员在编写代码时考虑到了可能发生的异常情况,并处理它们。
受检异常的处理方式包括捕获和处理异常、向调用方法抛出异常或者使用try-catch-finally语句块处理异常。
非受检异常是指那些不需要在代码中显式声明和捕获的异常,通常是由程序错误导致的异常,如空指针异常、数组越界异常等。
对于非受检异常,我们可以使用try-catch语句块来捕获并处理异常,或者在方法签名中使用throws关键字声明可能抛出的异常。
在实验中,我们通过编写代码来模拟各种异常情况,并使用try-catch语句块来捕获和处理异常。
我们还学习了如何创建自定义异常类,并在需要的时候抛出这些异常。
通过这个实验,我学到了异常处理的重要性以及如何正确地处理异常。
异常处理可以提高程序的健壮性和容错性,避免程序崩溃或出现未知的错误。
同时,异常处理也可以帮助我们定位和调试代码中的问题,提高代码的可维护性和可读性。
总的来说,这个实验对我来说是一次很好的学习和实践机会,让我更深入地理解了Java中的异常处理机制,并掌握了如何正确地处理异常。
我相信这些知识和技能对我在日后的编程工作中会非常有帮助。
java异常处理实验结论 -回复
java异常处理实验结论-回复Java异常处理实验结论异常是Java程序中经常遇到的一种特殊情况,它打破了程序正常的流程,可能导致程序的异常终止。
为了保证程序能够正常运行并且及时处理异常,Java提供了异常处理机制。
在Java中,异常通常分为两种类型:编译时异常和运行时异常。
编译时异常必须在代码中显式处理,否则无法通过编译;而运行时异常可以选择性地处理或者不处理,程序仍然可以编译和运行。
在异常处理的过程中,我们通常需要使用到try-catch语句块。
try块用来包含可能会抛出异常的代码,而catch块用来捕获并处理这些异常。
在catch块中,我们可以根据异常的类型来执行相应的操作,比如输出异常信息或者进行一些特定的处理。
此外,还可以使用多个catch块来捕获不同类型的异常。
如果try块中的代码正常执行完毕,那么catch块不会执行;而如果try块中的代码抛出了异常,那么catch块会根据异常的类型来进行处理。
除了try-catch语句块,Java还提供了finally语句块。
finally块用来包含一些无论是否发生异常都需要执行的代码,比如关闭资源等。
不管try 块中的代码是否抛出了异常,finally块中的代码都会被执行。
通过实验,我们可以得出以下结论:1. 异常处理机制能够有效地保证程序的稳定性和可靠性。
通过捕获和处理异常,我们可以避免程序因为异常而异常终止,提高程序的容错能力。
2. 使用try-catch语句块可以捕获和处理异常,从而避免异常对程序的影响。
通过多个catch块,我们可以针对不同类型的异常进行不同的处理操作,提高程序的可读性和可维护性。
3. finally语句块的使用可以保证一些必要的资源的释放。
无论是否发生异常,finally块中的代码都会被执行,从而避免资源泄露和内存泄露等问题。
4. 在处理异常时,我们需要根据具体的业务逻辑和需求来选择合适的处理方式。
有时候,我们可能需要将异常抛出给上层调用者,由上层调用者来处理异常;而有时候,我们可能需要直接在当前方法中进行异常处理。
实验3实验报告异常处理
信息工程学院Java语言课内实习报告(201~201学年第二学期)实习题目:异常处理姓名:学号:专业:计算机科学与技术年级班级:一、实习目的掌握Java的异常处理机制及相关实现方法能够在程序设计中熟练运用异常及相关类及对象。
二、实习设计过程实验题1 在程序中产生一个ArithmeticException 类型被0除的异常,并用catch 语句捕获这个异常。
最后通过ArithmeticException 类的对象e 的方法getMessage 给出异常的具体类型并显示出来。
设计如下:try { int c=a/b;System.out.print(c);} catch(ArithmeticException e) {System.out.println("Caught ArithmeticException");System.out.println("e.getMessage(): " + e.getMessage());}运行结果如下:实验题2在一个类的静态方法methodOne()方法内使用throw 产生异常,使用throws 子句抛出methodOne()的异常,在main方法中捕获处理异常。
设计如下:static void methodOne() throws ArrayIndexOutOfBoundsException{throw new ArrayIndexOutOfBoundsException("数组下标越界");}try{ methodOne();}catch(ArrayIndexOutOfBoundsException e ){System.out.println("错误是:"+e);}运行结果如下:实验题3编写一个程序,输入一个班某门课程成绩,统计及格人数、不及格人数平均分。
设计一个异常类,当输入的成绩小0分或大于100分时,抛出异常,程序将捕捉这个异常,并作出相应处理。
Java异常处理实验报告
实验六Java异常处理一.实验目的1)掌握Java异常的概念及工作机制2)掌握异常的分类3)掌握抛出异常语句的使用(throw)4)掌握抛出捕获处理异常语句的使用(try…catch…finally)5)掌握上抛异常语句的使用(throws)6)掌握创建自定义异常二.实验环境JDK1.6+Eclpise3.2三.实验准备1)复习课件中理论知识2)练习课堂所讲的例子四.实验内容1、编写一个应用程序,要求从键盘输入一个double型的圆的半径,计算并输出其面积。
测试当输入的数据不是double型数据(如字符串“abc”)会产生什么结果,怎样处理。
实验过程及结果在string.Java中编写代码如下:package error;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Zhu {public static void main(String[] args)throws IOException{System.out.println("请入圆的半径:");// TODO Auto-generated method stubBufferedReader br=new BufferedReader(new InputStreamReader(System.in));try{System.out.println("圆的面积为:"+computeArea(Double.parseDouble(br.readLine()))) ;}catch(NumberFormatException e){System.out.println("您输入的不是数值,请重新输入");}}public static double computeArea(double r){ return Math.PI*r*r;}}运行string.Java,其结果如下图所示2、计算两个正数之和,当任意一个数超出范围时,抛出自己定义的异常(NumberRangeException)。
JAVA_异常处理实验报告
JAVA_异常处理实验报告实验三异常处理[实验目的]1. 掌握异常处理方法及熟悉常见异常的捕获方法。
[实验内容]1. 练习捕获异常、声明异常、抛出异常的方法、熟悉try和catch子句的使用。
[实验步骤]第1题异常处理要求声明定义两个Exception的异常子类:NoLowerLetter类和NoDigit类。
再声明一个People类~该类中的void printLetter(charc)方法抛出NoLowerLetter异常类对象~void PrintDigit(char c)方法抛出NoDigit异常类对象。
class NoLowerLetter extends Exception{String message;NoLowerLetter(char c){message=c+"不是正数";}public String getMessage(){return message;}}class NoDigit extends Exception{String message;NoDigit(char c){message=c+"不是偶数";}public String getMessage(){return message;}1}class People{public void printLetter(char c) throws NoLowerLetter{ if(c<0){NoLowerLetter ex=new NoLowerLetter(c);throw(ex);}double number=Math.sqrt(c);System.out.println(c+"的平方根:"+number);}public void PrintDigit(char c) throws NoDigit{if(c%2!=0){NoDigit ex=new NoDigit(c);throw(ex);}double number=Math.sqrt(c);System.out.println(c+"的平方根:"+number); }}public class bianma{public static void main(String args[]){ People p=new People();try{p.printLetter('Q');p.printLetter(' ');}catch( NoLowerLetter e){System.out.println(e.getMessage());}try{p.PrintDigit('d');p.PrintDigit('a');}catch( NoDigit e){System.out.println(e.getMessage());}}}将结果运行截屏贴在下面:23。
java异常处理实验报告
java异常处理实验报告Java异常处理实验报告实验目的:通过实验,掌握Java中异常处理的基本原理和方法,能够编写能够处理各种异常情况的程序。
实验环境:使用Java编程语言,Eclipse集成开发环境。
实验内容:1. 异常的基本概念异常是指在程序执行过程中出现的错误情况,包括编译时异常和运行时异常。
编译时异常是在编译阶段就会被检测出来的异常,如IOException、SQLException等;而运行时异常是在程序运行过程中才会出现的异常,如NullPointerException、ArrayIndexOutOfBoundsException等。
在Java中,异常是以类的形式存在的,所有的异常类都是Throwable类的子类。
2. 异常处理的方法在Java中,异常处理的方法主要有try-catch语句和throws关键字。
try-catch 语句用于捕获和处理异常,可以将可能发生异常的代码放在try块中,然后在catch块中处理异常;throws关键字用于声明方法可能抛出的异常,让调用该方法的代码处理异常。
3. 编写能够处理异常的程序通过实验,我们编写了一段能够处理异常的程序。
在程序中,我们使用了try-catch语句来捕获可能发生的异常,并且在catch块中输出异常信息,以便程序的调用者能够得到相应的反馈。
实验结果:经过实验,我们成功掌握了Java中异常处理的基本原理和方法,能够编写能够处理各种异常情况的程序。
实验总结:异常处理是Java编程中非常重要的一部分,能够有效地提高程序的健壮性和可靠性。
通过本次实验,我们深入理解了异常处理的原理和方法,为今后的Java编程打下了坚实的基础。
希望通过不断的实践和学习,能够更加熟练地运用异常处理的技巧,编写出高质量的Java程序。
异常处理实验报告总结(3篇)
第1篇一、实验背景在软件开发过程中,异常处理是保证程序稳定性和可靠性的重要手段。
本次实验旨在通过实际操作,深入了解Java语言中的异常处理机制,掌握如何有效地捕获和处理异常,提高代码的健壮性。
二、实验目的1. 理解Java中异常的概念及分类;2. 掌握try-catch-finally语句的使用;3. 学会使用自定义异常类;4. 熟悉异常处理在实际项目中的应用。
三、实验内容1. 异常概念及分类(1)异常的概念:异常是程序在执行过程中遇到的不正常情况,如数学运算错误、文件读取失败等。
Java中的异常分为两大类:检查型异常和非检查型异常。
(2)异常分类:a. 检查型异常(Checked Exception):这类异常在编译时必须被处理,如IOException、SQLException等。
b. 非检查型异常(Unchecked Exception):这类异常在编译时不需要被处理,如NullPointerException、ArithmeticException等。
2. try-catch-finally语句try-catch-finally语句是Java中处理异常的主要方式。
(1)try块:用于编写可能抛出异常的代码。
(2)catch块:用于捕获并处理try块中抛出的异常。
(3)finally块:用于编写无论是否发生异常都要执行的代码。
3. 自定义异常类自定义异常类是继承自Exception类的一个新类,用于处理特定场景下的异常。
(1)创建自定义异常类:```javapublic class MyException extends Exception {public MyException(String message) {super(message);}}```(2)抛出自定义异常:```javapublic void doSomething() throws MyException {if (条件) {throw new MyException("自定义异常信息");}}```4. 异常处理在实际项目中的应用(1)文件读取操作:```javatry {File file = new File("example.txt");BufferedReader reader = new BufferedReader(new FileReader(file));String line;while ((line = reader.readLine()) != null) {System.out.println(line);}reader.close();} catch (FileNotFoundException e) {System.out.println("文件未找到:" + e.getMessage());} catch (IOException e) {System.out.println("读取文件出错:" + e.getMessage());}```(2)数据库操作:```javatry {Connection conn =DriverManager.getConnection("jdbc:mysql://localhost:3306/dbname", "username", "password");// 执行数据库操作} catch (SQLException e) {System.out.println("数据库操作出错:" + e.getMessage());}```四、实验总结通过本次实验,我对Java异常处理机制有了更加深入的了解。
java异常处理实验报告
publicstaticvoidmain(String[]args) {
//TODO自动生成的方法存根
try{
Scannersc=newScanner(System.in);
System.out.println("请输入除数:");
intx=sc.nextInt();
①在try块中,编写被0除的代码。
②在catch块中,捕获被0除所产生的异常,并且打印异常信息。
③在finallyyichangchuli;
importjava.util.InputMismatchException;
importjava.util.Scanner;
}
catch(Exceptione) {
//TODO: handle exception
System.out.println("输入错误,除数不为0!");
}
finally{
System.out.println("程序结束!");
}
}
}
实验结果:
输入格式错误:
除数为0错误
实验总结(结论或问题分析):
通过本次实验,我了解了异常处理机制,会简单的处理一些异常,明白异常处理机制可以保证代码的稳健性,在编程中发挥着重要作用。
实验成绩
任课教师签名
(注:专业文档是经验性极强的领域,无法思考和涵盖全面,素材和资料部分来自网络,供参考。可复制、编制,期待你的好评与关注)
System.out.println("请输入被除数:");
inty=sc.nextInt();
捕获异常实验报告
一、实验目的1. 理解Java异常处理机制;2. 掌握try-catch语句的用法;3. 学习如何自定义异常类;4. 熟悉异常处理在实际编程中的应用。
二、实验环境1. 操作系统:Windows 102. 开发工具:Eclipse3. 编程语言:Java三、实验内容1. 异常处理基础2. try-catch语句的用法3. 自定义异常类4. 异常处理在实际编程中的应用四、实验步骤1. 异常处理基础(1)创建一个简单的Java程序,其中包含一个方法,该方法会抛出一个运行时异常(如:除以零的操作)。
(2)在主方法中调用该方法,并使用try-catch语句捕获并处理异常。
2. try-catch语句的用法(1)创建一个包含多个方法的类,每个方法都执行不同的操作。
(2)在主方法中使用try-catch语句捕获这些方法中可能抛出的异常。
(3)在catch块中处理异常,例如打印错误信息或进行其他错误处理操作。
3. 自定义异常类(1)创建一个新的异常类,继承自Exception类。
(2)在自定义异常类中添加一些成员变量和方法,以便在捕获异常时使用。
(3)在主方法中调用可能抛出自定义异常的方法,并使用try-catch语句捕获并处理异常。
4. 异常处理在实际编程中的应用(1)创建一个简单的银行类,其中包含存款、取款和显示余额等方法。
(2)在取款方法中,如果取款金额大于账户余额,则抛出自定义的异常。
(3)在主方法中调用取款方法,并使用try-catch语句捕获并处理异常。
五、实验结果与分析1. 异常处理基础实验结果显示,在try块中执行的操作如果没有发生异常,则程序会正常执行。
如果在try块中发生异常,则程序会跳转到相应的catch块,并执行catch块中的代码。
2. try-catch语句的用法实验结果表明,try-catch语句可以有效地捕获和处理异常。
通过在catch块中添加相应的错误处理代码,可以避免程序在发生异常时直接崩溃。
java---异常类匿名类实验报告
实验十四异常类、匿名类课程名称:面向对象程序设计实验项目名称:实验十四异常类、匿名类【实验目的】1.掌握Java异常类、嵌套类、匿名类。
【实验内容】一、异常类实验1.编译下面的程序,并回答问题。
class ExceptionTest1{public static void main(String[] args){int a=0,b=0;try{a = Integer.parseInt(args[0]); // 语句1b = 10; // 语句2}catch(NumberFormatException e){a = 1;}System.out.println(a);System.out.println(b);}}(1)执行上述ExceptionTest1类(在命令提示符下敲入java ExceptionTest1 99)运行结果:(2)执行上述ExceptionTest1类(在命令提示符下敲入java ExceptionTest1 a)运行结果:(3)比较上面两次运行的结果,说明原因。
(思考:执行语句1时发生异常,语句2执行没有?)执行语句1时没有发生异常,语句2执行发生异常。
因为在源代码中写有try{a = Integer.parseInt(args[0]); // 语句1b = 10; // 语句2}catch(NumberFormatException e){a = 1;}当在运行代码时,若在文件名后面输入的是整数,则不会发生异常,try代码块的下面的代码继续执行,而当输入的是字符或是字符串时,try代码块会捕获错误的信息,但是并没有运行下面的代码,如果try代码块中添加了finally部分,将原来的System.out.println(a);System.out.println(b);填入到finally中,则无论有没有发生异常,都能执行到finally中的代码。
2.编译下面的程序,并回答问题。
- 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());
}
}
}。