实验六 异常处理机制.docx
7页JAVA 程序设计实验报告姓 名刘翔翔学号142056121 班级1420561成绩设备名称及软件环境设备:计算机 软件环境:jdk和eclipse8实验名称实验六异常处理机制实验日期2016.06.03一、实验内容1•实验目的(1) 掌握捕获异常、声明抛出异常的方法2) 掌握try—catch—finally语句的用法3) 掌握throw和throws语句的用法4) 异常处理保证java可以捕获程序异常,并且有相应的机制来处理它,确保不会产生 死机,死循环或其它对操作系统的损害,从而保证整个程序的安全性2•题目(1) 编写java程序,创建数组后,对数组访问时发生数组越界实验使用try-catch语 句处理异常2) 编与一个程序,捕捉运行时系统自动抛出除数为0'引发的ArithmeticException 异常3) 编与一个程序,包含一个try块和两个catch块,两个catch子句都具有能力捕捉try 块发出的异常说明两个catch子句在排列次序不冋时程序将产生怎样的输出二. 重点及难点1. 熟悉掌握try—catch—finally语句的相关知识2. 当try—catch—finally语句包含多个catch块时,分析语句的执行过程。
三. 理论分析或算法分析1. 数组访问时发生数组越界在try块中访问数组,并且发生越界,在catch块中添加处理代码处理异常2. ArithmeticException 异常在try块中直接抛出ArithmeticException异常,由catch块捕捉3. 不同的异常引发不同的catch块处理在try块中产生两个不同的异常,用两个catch块捕捉异常,当产生异常的顺序不同 时,分析try—catch—finally语句的执行顺序四. 实现方法(含实现思路、程序流程图和源程序列表等)1. 数组访问时发生数组越界public class No1 {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubint a[] = {1,2,3,4,5,6};try{for(int i=O;i<=a.length;i++)System.out.print(a[i]+" );}catch(Exception e){ System out .println();System. out .println("异常: +e.getMessage());e.printStackTrace();}finally{System.out.println("end1");}System.out.println("end2");}}2. ArithmeticException 异常public class No2 {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubtry{ throw new ArithmeticException (” 除数为零!!");}catch(Exception e){ System out .println();System. out .println("异常: +e.getMessage());e.printStackTrace();}finally{ System.out.println("end1");}System.out.println("end2");}}3. 不同的异常引发不同的catch块处理public class No3 {/*** @param args*/public static void main(String[] args) { // TODO Auto-generated method stub int a[]={0,2,5,5,6,8,7};try{for(int i=O;i<=a.length;i++)System.out.print("a["+i+"]="+a[i]+" ");a[0]=a[3]/a[0];}catch(ArithmeticException m){ System out .println();System. out .println (”异常(第一个catch块):"+m.getMessage());}catch(ArrayIndexOutOfBoundsException n){ System. out.println();System. out .println("异常(第二个catch块): "+n.getMessage());}finally{ System.out.println("end1");}System.out.println("end2");}}五. 实验结果分析(含执行结果验证、输出显示信息、图形、调试过程中所遇的问题及处 理方法等)1.数组访问时发生数组越界2. ArithmeticException 异常3.不同的异常引发不同的catch块处理 数组越界异常除数为零异常五.结论通过本次实验熟练掌握捕获异常、声明抛出异常的方法,熟练掌握掌握try—catch —finally语句的用法,熟练掌握掌握throw和throws语句的用法以及异常处理保证java 可以捕获程序异常,并且有相应的机制来处理它,确保不会产生死机,死循环或其它对操 作系统的损害,从而保证整个程序的安全性。
通过分析学习到当try块中产生异常时,会 和每个catch块比较,找到相应的处理后,执彳丁对应的catch块,若找不到相应的catch 块,在执行完finally块后,会把异常提交给JVM,停止程序报告提交日期06.17.2016注意:内容写不下时可另附页。





