您好,欢迎来到意榕旅游网。
搜索
您的当前位置:首页实验18:异常

实验18:异常

来源:意榕旅游网
实验报告

实验18:异常

实验目的: 1. 理解异常现象及异常的抛出机制 2. 掌握异常抛出时的处理机制 3. 掌握自定义异常的方法 4. 能够掌握在方法代码中添加抛出异常的处理 实验要求和过程 1. public class TestApp{ public static void main(String[] args){ try{ int i = 0; int j = 1 / i; String myname=null; if(myname.length()>2) System.out.print(“1”); }catch(NullPointerException e){ System.out.print(“2”); }catch(Exception e){ System.out.print(“3”); } } } 分析上述程序运行后的输出的结果和原因。 2. 下面是一个名称为NegativeAmountException的自定义异常类,表示一个不正常的银行账目事件类。填充下面的语句,完成该类的编写。 class NegativeAmountException _____ ____{ //NegativeAmountException异常:用消息s创建异常 NegativeAmountException(String s){ super(s); } } 漳州师范学院计算机科学与工程系 第 1 页

实验报告

class Account{ double balance; //构造函数,余额为0; public Account(){ balance = 0; } //构造函数,余额为n,如果初始余额小于0抛出异常 public Account( double n) throws NegativeAmountException{ if(n>0){ this.balance = n; }else { ____________________________________________________; } } //查询余额方法,返回当前余额 public double getBalance(){ return this.balance; } //存款方法,存款数额amount; 如果存款数目小于0抛出异常 public void deposit(double amount)____________________{ if(amount>=0){ balance+=amount; }else { throw new NegativeAmountException(\"存款出错\"); } } //取款方法,取款数额amount; 如果取款数目小于0抛出异常 public void withdraw(double amount)____ ________{ if(amount<0){ throw new NegativeAmountException(\"操作错误\"); }else if(balance实验报告

3) 如果参数的数目只要一个,抛出OnlyOneException异常并退出程序的执行;如果没有参数 ,抛出NoOprandException异常并退出程序的执行; 4. 为实验15(5),添加一个取款异常WithdrawException,请定义异常类WithdrawException,要求: 1) 异常对象记录取款发生时的帐户余额、取款额还有取款人。 2) 覆盖继承于超类的方法getMessage(),按以下格式返回信息: 取款人,账号余额,取款额,原因:透支。 3) 修改CashAccount的取款方法,当用户取款超出额度时,抛出异常。 4) 编写一个可执行类Test,创建一个CashAccount的对象,其初始余额为500,连续取款2次,每次300,写出运行结果。 5. 继续第一个实验,如果为Account类添加一个String类型的属性 ststus,当它的值为“blocked”时,取款时发生BlockedException,重写第一个实验(注,取款方法要抛出上述两个异常),写出异常类BlockedException、新的取款方法,并编写程序验证。 评语: 教师签字: 日期: 年 月 日

漳州师范学院计算机科学与工程系 第 3 页

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- yrrf.cn 版权所有 赣ICP备2024042794号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务