- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验三02异常
班级: 12计师本 姓名: 陈翠玲 学号: 1208150125 成绩
异常
实验目的:
理解异常现象及异常的抛出机制
掌握异常抛出时的处理机制
掌握自定义异常的方法
能够掌握在方法代码中添加抛出异常的处理实验要求和过程
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”);
}
}
}
分析上述程序运行后的输出的结果和原因。
答: 由于Try中出现的异常类型为ArithmeticException,且程序中无具体的异常类型与之匹配,又由于catch(Exception e){….}能捕获所有的异常类型,故上面的异常与最后一个匹配,故输出结果为3;
下面是一个名称为NegativeAmountException的自定义异常类,表示一个不正常的银行账目事件类。填充下面的语句,完成该类的编写。
class NegativeAmountException _____ ____{
//NegativeAmountException异常:用消息s创建异常
NegativeAmountException(String s){
super(s);
}
}
class Account{
double balance;
//构造函数,余额为0;
public Account(){
balance = 0;
}
//构造函数,余额为n,如果初始余额小于0抛出异常
public Account( double n) throws NegativeAmountException{
if(n0){
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(amount0){
throw new NegativeAmountException(操作错误);
}else if(balanceamount){
throw new NegativeAmountException(取款出错);
}else{
balance-=amount;
}
}
}
模仿上题中NegativeAmountException自定义异常的写法,根据下面要求写程序。
自定义异常OnlyOneException与NoOprandException,并补充各自类???构造函数,参数用于保存异常发生时候的信息;
添加main方法,从命令行参数读入两个数据,计算这两个数据的和并输出。
如果参数的数目只要一个,抛出OnlyOneException异常并退出程序的执行;如果没有参数 ,抛出NoOprandException异常并退出程序的执行;
继续第一个实验,如果为Account类添加一个String类型的属性 ststus,当它的值为“blocked”时,取款时发生BlockedException,重写第一个实验(注,取款方法要抛出上述两个异常),写出异常类BlockedException、新的取款方法,并编写程序验证。
评语: 教师签字: 日期: 年 月 日
文档评论(0)