java实验六异常_实验六异常处理机制

41528d3028836879cd698677c3999917.gif实验六异常处理机制

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子句在排列次序不同时程序将产生怎样的输出。 2. 重点及难点 1. 熟悉掌握try—catch—finally语句的相关知识。 2. 当try—catch—finally语句包含多个catch块时,分析语句的执行过程。 3. 理论分析或算法分析 1. 数组访问时发生数组越界 在try块中访问数组,并且发生越界,在catch块中添加处理代码处理异常。 2. ArithmeticException异常 在try块中直接抛出ArithmeticException异常,由catch块捕捉。 3. 不同的异常引发不同的catch块处理 在try块中产生两个不同的异常,用两个catch块捕捉异常,当产生异常的顺序不同时,分析try—catch—finally语句的执行顺序。 4. 实现方法(含实现思路、程序流程图和源程序列表等) 1. 数组访问时发生数组越界 public class No1 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated stub int a[] = {1,2,3,4,5,6}; try{ for(int i=0;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 stub try{ 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 stub int a[]={0,2,5,5,6,8,7}; try{ for(int i=0;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块处理 数组越界异常 除数为零异常 5. 结论 通过本次实验熟练掌握捕获异常、声明抛出异常的方法,熟练掌握掌握try—catch—finally语句的用法,熟练掌握掌握throw和throws语句的用法以及异常处理保证java可以捕获程序异常,并且有相应的机制来处理它,确保不会产生死机,死循环或其它对操作系统的损害,从而保证整个程序的安全性。通过分析学习到当try块中产生异常时,会和每个catch块比较,找到相应的处理后,执行对应的catch块,若找不到相应的catch块,在执行完finally块后,会把异常提交给JVM,停止程序。 报告提交日期 06.17.2016 (注意:内容写不下时可另附页。) 7

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值