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.
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
When you use the Bold button, Dreamweaver places emphasis tags around the selected text.
Answer the following statement true (T) or false (F)
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.
Java uses the ____ for String escape sequences.
A. asterisk character (*) B. backslash character (\) C. ampersand character (&) D. forward slash character (/)