5. java自定义异常 要求:乘坐公交车刷卡操作。定义公交卡类,若刷卡金额大于余额,则作为异常处理。 步骤: (1)产生异常的条件是余额少于刷卡金额,是否抛出异常要先对该条件做判断,确定产生异常的方法,在刷卡方法中产生异常。 (2)处理异常安排在调用刷卡方法中,刷卡方法拋出异常,由上一级调用方法捕获并处理。(3)定义异常
时间: 2024-02-03 14:15:15 浏览: 33
Java中自定义异常需要继承Exception类或其子类。对于这个例子,我们可以定义一个名为InsufficientBalanceException的异常类,继承Exception类,用于表示余额不足的情况。
定义InsufficientBalanceException类的代码如下:
```
public class InsufficientBalanceException extends Exception {
public InsufficientBalanceException(String message) {
super(message);
}
}
```
在公交卡类中,我们可以定义一个名为swipe()的方法,用于刷卡操作。如果刷卡金额大于余额,则抛出InsufficientBalanceException异常。代码实现如下:
```
public class BusCard {
private double balance;
public BusCard(double balance) {
this.balance = balance;
}
public void swipe(double amount) throws InsufficientBalanceException {
if (amount > balance) {
throw new InsufficientBalanceException("余额不足!");
}
balance -= amount;
System.out.println("刷卡成功,余额为:" + balance);
}
}
```
在调用swipe()方法时,需要使用try-catch语句捕获InsufficientBalanceException异常并进行处理。示例代码如下:
```
public static void main(String[] args) {
BusCard card = new BusCard(20.0);
try {
card.swipe(30.0);
} catch (InsufficientBalanceException e) {
System.out.println(e.getMessage());
}
}
```
阅读全文