
异常处理Java实验报告.docx
9页异常处理Java实验报告 西安邮电大学 (计算机学院) Java程序设计课内实验报告实验名称:异常处理 专业名称:软件工程 班级: 学生姓名: 学号(8位): 指导教师: 实验日期: 一. 实验目的及实验环境 掌握Java异常处理的机制理解异常的概念及其分类,熟练掌握其在程序设计中的应用 二. 实验内容 1.运行以下程序,输出结果是什么?为什么? class Test1{ public static void main(String[] args){ try{ int [] list = new int [10]; System.out.println(“list [10] is” + list[10]); } catch (ArithmeticException ex){ System.out.println(“ArithmeticException”); } catch(RuntimeException ex){ System.out.println(“Runtime Exception”); } catch(Exception ex){ System.out.println(“Exception”); } } } 2.运行以下程序,输出结果是什么?为什么? class Test2{ public static void main(String[] args){ try{ method(); System.out.println(“After the method call”); } catch(RuntimeException ex){ System.out.println(“Runtime Exception”); } catch(Exception ex){ System.out.println(“Exception”); } } static void method() throws Exception{ System.out.println(1/0); } } 3.分别编写两个方法,用来判断一个字符数是否是数字。
一个采用不使用异常和一个使用异常 4.设计实现三角形类,在接受参数构造方法中抛出自定义异常 IlleagalTriangle在应用类中接受用户输入(可从main方法参数中提取),构造三角形对象,并捕获异常,提示用户输入正确参数 三.方案设计 1-2.按照实验任务书要求操作 3.不使用异常,若该字符ASCII码在48-57则是数字,否则不是;使用异常, 若该字符是数字则正常,并输出“是数字”,若不是数字则异常,并输出“不是数字” 4.从键盘上输入三角形三边长,当输入非法数据(非正数)或输入数据不能构成三角形时抛出异常,并提示;当输入正确时输出“Right!” 四.测试数据及运行结果 1.输出:Runtime Exception 2.输出:Runtime Exception 3.请输入一个字符:123 不使用异常:是数字 使用异常:是数字 请输入一个字符:b 不使用异常:不是数字 使用异常:不是数字 请输入一个字符:2f 不使用异常:不是数字 使用异常:不是数字 4.请输入三条边:3 5 7 输出:Right! 请输入三条边:8 8 8 输出:Right! 请输入三条边:1 1 9 输出:Illeagatriangle! Please input right 五.总结 通过此次实验学习了简单的Java异常处理,理解了几种不同的异常类型,初步了解了异常处理机制。
异常只能用于非正常情况异常处理可以有效提高程序的健壮性,当出现各种故障时能够确保程序从故障中恢复,使程序能正常运行下去因此在程序当中对异常的处理是不可缺少且十分重要的 六.附录:源代码(电子版) 1./*1.运行以下程序,输出结果是什么? */ class Test1{ public static void main(String[] args){ try{ int[] list= new int[10]; System.out.println("list [10] is" + list[10]); } catch(ArithmeticException ex){ System.out.println("ArithmeticEx ception"); } catch(RuntimeException ex){ System.out.println("Runtime Exception"); } catch(Exception ex){ System.out.println("Exception"); } } } 2./*2.运行以下程序,输出结果是什么?*/ class Test2{ public static void main(String[] args){ try{ method(); System.out.println("After the method call"); } catch(RuntimeException ex){ System.out.println("Runtime Exception"); } catch(Exception ex){ System.out.println("Exception"); } } static void method() throws Exception{ System.out.println(1/0); } } 3./*3.分别编写两个方法,用来判断一个字符数是否是数字。
一个采用不使用异常和一个使用异常/ import java.util.Scanner; public class sy8_3 { public static void main(String[] args){ Scanner sc= new Scanner(System.in); System.out.println("请输入一个字符:"); String str = sc.next(); char ch = str.charAt(0); System.out.print("不使用异常:"); ishuzi1(ch); System.out.print("使用异常:"); ishuzi2(str); } //不使用异常的方法 static void ishuzi1(char ch){ if(ch57){ System.out.println("不是数字"); }else{ System.out.println("是数字"); } } //采用抛出异常的方法判断是否为数字 static void ishuzi2(String str){ try{ int a= Integer.parseInt(str); System.out.println("是数字"); }catch(NumberFormatException e){ e.printStackTrace(); System.out.println("不是数字"); } } } 4./*4.设计实现三角形类,在接受参数构造方法中抛出自定义异常IlleagalTriangle*/ import java.util.*; //三角形类 class illeagatra{ public void judgea(double a,double b,double c)throws Exception{ if(aa || a-c>b) throw new Exception("aa || a-c>b"); } } public class sy8_4{ public static void main(String[] args){ illeagatra o=new illeagatra(); double x,y,z; Scanner read=new Scanner(System.in); System.out.print("请输入三条边:"); x=read.nextInt(); y=read.nextInt(); z=read.nextInt(); try{ o.judgea(x,y,z); System.out.print("Right!"); } catch(Exception e){ System.out.println("Illeagatrian gle! Please input right"); } } } 。
