实验11异常

发布 2022-06-26 17:57:28 阅读 6484

1. 理解异常现象及异常的抛出机制。

2. 掌握异常抛出时的处理机制。

3. 掌握自定义异常的方法。

4. 能够掌握在方法**中添加抛出异常的处理实验题目。

1. 分析并回答问题。

public class testappcatch(nullpointerexception e)catch(exception e)

分析上述程序运行后的输出的结果和原因。

2. 下面是一个名称为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(n>0){

= n;else {

/查询余额方法,返回当前余额。

public double getbalance(){

return

/存款方法,存款数额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(balancethrow new negativeamountexception("取款出错");

else{balance-=amount;

3. 模仿上题中negativeamountexception自定义异常的写法,根据下面要求写程序。

1) 自定义异常onlyoneexception与nooprandexception,并补充各自类的构造函数,参数用于保存异常发生时候的信息;

2) 添加main方法,从命令行参数读入两个数据,计算这两个数据的和并输出。

3) 如果参数的数目只要一个,抛出onlyoneexception异常并退出程序的执行;如果没有参数 ,抛出nooprandexception异常并退出程序的执行;

4. 继续第2个实验,如果为account类添加一个string类型的属性 status,当它的值为“blocked”时,取款时发生blockedexception,重写第2个实验(注,取款方法要抛出两个异常:blockedexception和negativeamountexception),写出异常类blockedexception、新的取款方法,并编写程序验证。

实验11与异常处理

一 实验目的。1 理解函数模板和类模板的概念。2 会编写包含函数模板和类模板的程序。3 正确理解c 的异常处理机制。4 掌握异常处理的编程特点。5 了解异常分类层次,常见系统异常。6 学习自定义异常的定义及方法,异常的抛出与处理。二 实验内容。1 编写一个求绝对值的函数模板,并测试。2 请将的冒泡排...

11 异常作业

三 简答题。1.error和exception的区别。2.checked异常和runtime异常的区别。3.j a异常处理中,关键字try catch finally throw throws分别代表什么含义?4.throws和throw的区别。四 编码题。1.编写程序接收用户输入分数信息,如果分数...

11事务及异常处理

事务及异常处理实践。一 数据库设计说明。create database bank gouse bank gocreate table bank 帐户信息表 bank 存放帐户的信息。customername varchar 30 客户姓名。pwd char 8 not null,交易密码。cardi...