java异常捕获_java基础异常捕获处理

1.建立exception包,编写TestException.java程序,主方法中有以下代码,确定其中可能出现的异常,进行捕获处理。

for(inti=0;i<4;i++){

int  k;

switch(i){

case 0:

int zero=0;

k=911/zero;

break;

case1:

int  b[]=null;

k = b[0];

break;

case2:

int c[]=new int[2];

k=c[9];

break;

case3:

char  ch="abc".charAt(99);

break;

}

}

public classTestException {public static voidmain(String[] args) {//TODO 自动生成的方法存根

for(int i=0;i<4;i++){intk;switch(i){case 0:int zero=0;try{

k=911/zero;}catch(Exception e)

{

System.out.println("捕获了异常"+e.getMessage());

}break;case 1:int b[]=null;try{

k= b[0];

}catch(Exception e)

{

System.out.println("捕获了异常"+e.getStackTrace());

}break;case 2:int c[]=new int[2];try{

k=c[9];

}catch(Exception e)

{

System.out.println("捕获了异常,我还能运行!");

}break;case 3:try{char ch="abc".charAt(99);

}catch(Exception e)

{

System.out.println("终于抓完了,我快要到休息的时间啦");

}break;

}

}

}

}

fd9f966effc47da6e7adeaa9e9b4ba3a.png

2.建立exception包,建立Bank类,类中有变量doublebalance表示存款,Bank类的构造方法能增加存款,Bank类中有取款的方法withDrawal(double dAmount),当取款的数额大于存款时,抛出InsufficientFundsException,取款数额为负数,抛出NagativeFundsException,如new Bank(100),表示存入银行100元,当用方法withdrawal(150),withdrawal(-15)时会抛出自定义异常。

//自定义异常类

public class InsufficientFundsException extendsException {

InsufficientFundsException(String a)

{

}

//重写信息异常的方法

@OverridepublicString getMessage() {//TODO 自动生成的方法存根

return "取款余额不足";

}

}

//自定义异常类

public class NagativeFundsException extendsException {

NagativeFundsException(String n)

{

}

@OverridepublicString getMessage() {//TODO 自动生成的方法存根

return "存款余额为负数啦";

}

}

public classBank {private doublebalance;public doublegetBalance() {returnbalance;

}public void setBalance(doublebalance) {this.balance =balance;

}public Bank(doublemoney)

{

balance+=money;

}//声明抛出的异常

public void withDrawal(double dAmount) throwsInsufficientFundsException,NagativeFundsException

{if(dAmount >balance)

{//抛出自定义异常

throw new InsufficientFundsException("取款余额不足");

}//抛出自定义异常

else if(dAmount <0)

{throw new NagativeFundsException("取款余额为负数啦");

}

}

}

public static void main(String[] args) throwsInsufficientFundsException, NagativeFundsException {//TODO 自动生成的方法存根

Bank b = new Bank(100.0);

b.withDrawal(150);

b.withDrawal(-15);

}

}

d9b6012cf2b3feb24f8a4084f19997dd.png

443357e8289772c2e7a13d918e67e3dd.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值