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...