Rewrite the class so that it throws appropriate exceptions instead of returning -1 as an error code. Write test code that attempts to withdraw and deposit invalid amounts and catches the exceptions that are thrown.

A method that returns a special error code can sometimes cause problems. The caller might ignore the error code or treat the error code as a valid return value. In this case it is better to throw an exception instead. The following class maintains an account balance and returns a special error code.
```
{
private double balance;
public Account()
{
balance = 0;
}
public Account(double initialDeposit)
{
balance = initialDeposit;
}
public double getBalance()
{
return balance;
}
// returns new balance or -1 if error
public double deposit(double amount)
{
if (amount > 0)
balance += amount;
else
return -1; // Code indicating error
return balance;
}
// returns new balance or -1 if invalid amount
public double withdraw(double amount)
{
if ((amount > balance) || (amount < 0))
return -1;
else
balance -= amount;
return balance;
}
}
```

This solution throws a NegativeAmount and InsufficientBalance exception. It is worth pointing out to the students the problems that would occur if negative account balances were desirable.


See the code in Account.java.

Computer Science & Information Technology

You might also like to view...

A web page document is contained between opening and closing ________tags.

a. html b. doctype c. head d. body

Computer Science & Information Technology

When you use the Bold button, Dreamweaver places emphasis tags around the selected text.

Answer the following statement true (T) or false (F)

Computer Science & Information Technology

In Word, what is not true about a Text box?

A) It can contain text or graphics. B) You can use several on a page at the same time. C) It is movable and resizable. D) It can only contain text.

Computer Science & Information Technology

Java uses the ____ for String escape sequences.

A. asterisk character (*) B. backslash character (\) C. ampersand character (&) D. forward slash character (/)

Computer Science & Information Technology