tues. nov. 25. an exception is an unexpected error or condition, such as ◦ you issue a command to...

73
Tues. Nov. 25

Upload: william-eaton

Post on 11-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

Tues. Nov. 25

Page 2: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

An exception is an unexpected error or condition, such as◦ You issue a command to read a file from a disk,

but the file does not exist there◦ You attempt to write data to a disk, but the disk is

full or unformatted◦ Your program asks for user input, but the user

enters invalid data◦ The program attempts to divide a value by 0

Page 3: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

These are the object-oriented methods to manage such errors

Java has two basic classes of errors: Error and Exception

Both of these classes descend from the Throwable class, as shown next

Page 4: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

Object◦ Throwable

Exception IOException Runtime Exception

ArithmeticException IndexOutOfBoundsException ArrayIndexOutOfBoundsException Others

Error VirtualMachineError

OutofMemoryError InternalError Others…

Page 5: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

These are serious errors from which your program cannot recover

Such as, a misspelled class name or a class stored in the wrong folder

If the program cannot find the class, an Error condition occurs

If the program runs out of memory, an Error condition occurs

Page 6: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

These are less serious errors that represent unusual conditions that arise while the program is running and from which the program can recover

Examples include using an invalid array subscript or performing certain illegal arithmetic operations

Your program can determine the type of error by examining the code of the error returned by Java

Page 7: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

C:\Java\Java xyz.javaerror: cannot read xyz.java1 error

C:\Java\>_

In this case there is no program code you could write that could fix or prevent the error message

Page 8: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

When the program generates an exception message, it produces a different type of message

An exception message is one that could have been prevented by writing specific methods in the program

Consider the following program…

Page 9: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

public class MathMistake{ public static void main(String[] args) { int num = 13, denom = 0, result; result = num / denom; }}

Page 10: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

C:\Java\java MathMistakeException in thread “main”

java.lang.ArithmeticException: / by zero at

MathMistake.main<MathMistake.java:6>

C:\Java>_

The Exception is a java.lang.ArithmeticException which is one of many subclasses of Exception

You are told the type of error as well as the line number of the error

Page 11: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

You can simply let the program terminate The termination is abrupt and unforgiving This might annoy the user Or the termination could be disastrous such

as in an air traffic control situation

Page 12: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

Consider the following arithmetic (division by 0) error and its various traditional ways of handling the error

Page 13: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

public class MathMistake{ public static void main(String[] args) { int num = 13, denom = 0, result;

if(denom == 0)System.exit(1);

result = num / denom; }}

Page 14: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

When you use System.exit(), the current application ends and control returns to the operating system

The convention is to return a value of 1 if an error is causing the termination; otherwise, a value of 0 is returnedunder normal termination

Using System.exit() circumvents displaying the error message shown above because the program ends before the the division by zero occurs

Page 15: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

When you write code to detect exceptions, you ‘try’ a procedure that might cause an error

A method that detects an exception ‘ throws an exception,’ and the block of code that processes the error ‘catches the exception.’

Programs that can handle exceptions are said to be more fault tolerant and robust◦ Fault-tolerant apps are designed so that they

continue to operate, possibly at a reduced level

Page 16: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

When you create a segment of code in which something might go wrong, you place the code in a try block, which is a block of code you attempt to execute while acknowledging that an exception might occur

Page 17: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

The keyword catch An opening parenthesis An Exception type A name for an instance of the Exception type A closing parenthesis An opening curly brace The statements that take the action you want A closing curly brace

Page 18: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

returnType methodName(optional arguments){ optional statements prior to code that is tried try { //statements that might generate an exception } catch(Exception someException) { // actions to take if exception occurs } // optional statements that occur after try}

Page 19: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

In the slide above, someException represents an object of the Exception class or any of its subclasses

If an exception occurs during the execution of the try block, the statements in the catch block execute

If no exception occurs within the try block, the catch block does not execute

Either way the statements following the catch block execute normally

Page 20: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

public class MathMistakeCaught{ public static void main(String[] args) { int num = 13, denom = 0, result; try { result = num / denom; } catch(ArithmeticException mistake) { System.out.println("Attempt to divide by zero!"); } }}

Page 21: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

C:\Java>java MathMistakeCaught Attempt to divide by zero!

C:\Java>

Page 22: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

If you want to send error messages to a different location from ‘normal’ you can use System.err instead of System.out

Page 23: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

Lots of different types of errors could have occurred within the try block

You can have the system print the type of error with the following code

Page 24: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

public class MathMistakeCaught2{ public static void main(String[] args) { int num = 13, denom = 0, result; try { result = num / denom; } catch(ArithmeticException mistake) { System.out.println(mistake.getMessage()); } }}

Page 25: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

Uses the getMessage() method to generate the message that ‘comes with’ the caught ArithmeticException argument to the catch block

Page 26: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

C:\Java>java MathMistakeCaught2/ by zero

C:\Java>_

Page 27: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

try { result = num / denom; } catch(ArithmeticException mistake) { result = num/1;

System.out.println(mistake.getMessage()); }

Page 28: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

Holds a valid value—either the code in the try block worked, or the code in the catch block assigned a valid value to result if the try block did not work

Page 29: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

The catch blocks are written so that they look like methods

Page 30: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

You can place as many statements as you need within a try block and you can catch as man Exceptions as you want

However, the first such Exception will cause the logic to leave the try block and to enter the catch block

Thus, the first error-generating statement throws an Exception

When a program contains multiple catch blocks, they are examined in sequence until a match is found for the type of Exception that occurred

Page 31: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

Then, the matching catch block executes and each remaining catch block is bypassed

For example, consider the code below

Page 32: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

public class TwoMistakes{ public static void main(String[] args) { int num[] = {4, 0, 0}; try { num[2] = num[0] / num[1]; num[2] = num[3] / num[0]; } catch(ArithmeticException e) { System.out.println("Arithmetic error"); } catch(IndexOutOfBoundsException e) { System.out.println("Out of bounds error"); } System.out.println("End of program"); }}

Page 33: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

C:\Java\java TwoMistakes Arithmetic error End of program

C:\Java>_

Note that the second statement in the try block is never attempted and the second catch block is skipped

Page 34: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

public class TwoMistakes2{ public static void main(String[] args) { int num[] = {4, 0, 0}; try { num[2] = num[0] / 10; num[2] = num[3] / num[0]; } catch(ArithmeticException e) { System.out.println("Arithmetic error"); } catch(IndexOutOfBoundsException e) { System.out.println("Out of bounds error"); } System.out.println("End of program");

}}

Page 35: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

C:\Java\java TwoMistakes2 Out of bounds error End of program

C:\Java>_

Again, the try block is abandoned, the first catch block is examined and found unsuitable because it does not catch an IndexOutOfBoundsException

The program proceeds to the second catch block

Page 36: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

The following program uses only one catch block to catch both ArithmeticExceptions and IndexOutOfBounds exceptions

The above exceptions are both subclasses of Exception

Therefore, the catch blocks shown above can be replaced with a single generic catch block, as shown below

Page 37: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

public class TwoMistakes3{ public static void main(String[] args) { int num[] = {4, 0, 0}; try { num[2] = num[0] / num[1]; num[2] = num[3] / num[0]; } catch( Exception e) { System.out.println(e.getMessage()); } }}

Page 38: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

Will catch all exceptions When either an arithmetic exception or

array index exception occurs, the thrown exception is ‘promoted’ to an Exception error in the catch block

Because an Exception is Throwable, you can use the Throwable class getMessage() method

Page 39: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

If you place a generic catch block first and then specific catch blocks afterwards, the specific catch blocks will possess code that is unreachable because the generic catch block will catch all exceptions before they can be tested against specific catch blocks

Unreachable code statements are program statements that can never execute under any circumstances.

Try blocks should not throw more than four exception types

Page 40: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

finally blocks follow catch blocks and are used to cleanup after try and catch blocks regardless of whether an exception occurred or not

Page 41: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

Try{ // statements of try}catch(Exception e){ // actions taken if exception was thrown}finally{ // actions taken whether catch block executed or not}

Page 42: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

There is a System.exit(); statement in either the try block or the catch block

An unplanned Exception occurs When an unplanned Exception occurs, the

application is stopped and control is returned to the operating system where the Exception is handled—the program is abandoned

Page 43: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

try{ // Open the file // Read the file // Place the file data in an array // Calculate an average from the data // Display the average}catch(IOException e){ // Issue an error message // System exit}finally{ // if file is open, close it}

Page 44: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

The advantage of exception handling is that it enables you to create a fix-up for the exception and to permit the program to continue

It also simplifies exception handling overall

Page 45: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

call methodA()If methodA() worked

{call methodB()if methodB() worked{

call methodC()if methodC() worked

Everything is OK so print final result

elseSet errorCode to ‘C’

}else

Set errorCodee to ‘B”

}else

Set errorCode to ‘A’}

Page 46: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

try{ call methodA() and maybe throw an exception call methodB() and maybe throw an exception call methodC() and maybe throw an exception}Catch(methodA()’s error){ set errorCode to ‘A’}Catch(methodB()’s error){ set errorCode to ‘B’}Catch(methodC()’s error){ set errorCode to ‘C’}

Page 47: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

Logic is much simplier Reusability of the method is much better

If a method throws an exception that will not be caught inside the method, you must use the keyword throws followed by an Exception type in the method header

Consider the following code…

Page 48: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

Public class PriceList{ private static final double[] price =

{15.99,27.88,34.56,45.89}; public static void displayPrice(int item) throws IndexOutOfBoundsException { System.out.println(“The price is” +

price[item]; }}

Page 49: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

public class PriceListApplication1{ public static void main(String[] args) { int item = 4; try { PriceList.displayPrice(item); } catch(IndexOutOfBoundsException e) { System.out.println("Price is $0"); } }}

Page 50: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

import javax.swing.*;public class PriceListApplication2{ public static void main(String[] args) { int item = 4; try { PriceList.displayPrice(item); } catch(IndexOutOfBoundsException e) { while(item < 0 || item > 3) { String answer = JOptionPane.showInputDialog(null, "Please reenter a value 0, 1, 2 or 3"); item = Integer.parseInt(answer); } PriceList.displayPrice(item); } System.exit(0); }}

Page 51: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

Java’s exceptions come in two types:◦ Checked exceptions—the type programmers

should be detecting and recovering from◦ Unchecked exceptions—don’t mess with these

Programmers usually cannot anticipate unchecked exceptions, which are◦ Hardware failures◦ Logic errors◦ [programs cannot fix these]

Programs can only fix checked exceptions while it is executing

Page 52: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

All exceptions that you specifically throw are checked exceptions

These descend from the Exception class These are not runtime exceptions

Page 53: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

Catch it in the method Declare the exception in your method

header’s throws clause If you use the latter, then any programmer

who uses your method must do one of the following:◦ Catch and handle the exception◦ Declare the exception in the throws clause of

their method

Page 54: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

The method’s return type The type and number of arguments the

method requires The type and number of Exceptions the

method throws

Why don’t you have to know what other methods the method extends from and what other methods the method implements?

Page 55: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

When an exception occurs, Java will trace back through the call stack looking for a catch in each of the methods

If none is found, control returns to the operating system

Consider the following program…

Page 56: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

import javax.swing.*;public class DemoStackTrace{ public static void main(String[] args) { methodA(); // line 6 } public static void methodA() { System.out.println("In methodA()"); methodB(); // line 11 } public static void methodB() { System.out.println("In methodB()"); methodC(); // line 16 } public static void methodC() { System.out.println("In methodC()"); JFrame frame = null; frame.setVisible(true); // line 22 }}

Page 57: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

C:\Java>java DemoStackTraceIn methodA()In methodB()In methodC()Exception in thread “main” java.lang.nullPointerException at DemoStrackTrace.methodC(DemoStackTrace.java:22) at DemoStrackTrace.methodB(DemoStackTrace.java:16) at DemoStrackTrace.methodA(DemoStackTrace.java:11) at DemoStrackTrace.main(DemoStackTrace.java:6) C:\Java>

Page 58: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

import javax.swing.*;public class DemoStackTrace2{ public static void main(String[] args) { methodA(); // line 6 } public static void methodA() { System.out.println("In methodA()"); try { methodB(); // line 13 } catch(RuntimeException e) { System.out.println("In methodA() - The stack trace:"); e.printStackTrace(); } System.out.println("Method ends normally."); System.out.println("Application could continue here."); } public static void methodB() { System.out.println("In methodB()"); methodC(); // line 26 } public static void methodC() { System.out.println("In methodC()"); JFrame frame = null; frame.setVisible(true); // line 32 }}

Page 59: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

C:\Java>java DemoStackTraceIn methodA()In methodB()In methodC()In methodA() – The stack trace:java.lang.nullPointerException at DemoStrackTrace.methodC(DemoStackTrace.java:32) at DemoStrackTrace.methodB(DemoStackTrace.java:26) at DemoStrackTrace.methodA(DemoStackTrace.java:13) at DemoStrackTrace.main(DemoStackTrace.java:6)Method ends normally.Application could continue here.

C:\Java>

Page 60: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

Java provides over 40 categories of Exceptions that you can use in your programs

But Java cannot anticipate all of the possible exceptions you might want to catch◦ Ex. A negative bank balance◦ Ex. Someone tries to access your email

To create your own throwable Exception, you must extend a subclass of Throwable.

The class Throwable has two subclasses—Exception and Error

Page 61: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

Exception() – constructs a new exception with null as its detail message

Exception(String message) – constructs a new exception with the specified detail message

Exception(String message, Throwable cause) – constructs a new exception with the specified detail message and cause

Exception(Throwable cause) – constructs a new exception with the specified cause

Page 62: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

public class HighBalanceException extends Exception

{ public HighBalanceException() { super("Customer balance is high"); } }

Page 63: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

public class CustomerAccount { private int acctNum; private double balance; public static double HIGH_CREDIT_LIMIT = 20000.00; public CustomerAccount(int num, double bal) throws

HighBalanceException { acctNum = num; balance = bal; if(balance > HIGH_CREDIT_LIMIT) throw(new HighBalanceException()); } }

Page 64: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

import javax.swing.*; public class UseCustomerAccount { public static void main(String[] args) { int num; double balance; String input; input = JOptionPane.showInputDialog(null, "Enter account

number"); num = Integer.parseInt(input); input = JOptionPane.showInputDialog(null, "Enter balance due"); balance = Double.parseDouble(input); try { CustomerAccount ca = new CustomerAccount(num, balance); JOptionPane.showMessageDialog(null, "Customer #" + num + " has a balance of $" + balance); } catch( HighBalanceException hbe) { JOptionPane.showMessageDialog(null, "Customer #" + num + " has a balance higher than the credit limit"); } System.exit(0); } }

Page 65: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

Assertions are Java language features that help you detect logic errors that do not create runtime errors, but do produce results that are wrong

You use assert statement to create an assertion The syntax is… Assert booleanExpression :

optionalErrorMessage

Page 66: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

import javax.swing.*;class PayRaise{ public static void main(String[] args) { double oldPay = 0; double newPay = 0; final double INCREASE = 0.04; final double TAXRATE = 0.28; final double HRSPERWEEK = 40; final double INSURANCE = 140.00; String entry; entry = JOptionPane.showInputDialog(null, "Enter old pay per hour"); oldPay = Double.parseDouble(entry); newPay = oldPay + oldPay * INCREASE; assert oldPay < newPay: "\nOld Pay is " + oldPay + "\nNew pay is $" + newPay + "\nNew pay should be more than old pay"; newPay = (newPay * HRSPERWEEK) - (newPay * TAXRATE) - INSURANCE; assert oldPay < newPay: "Old Pay is " + oldPay + "\nNew pay is $" + newPay + "\nNew pay should be more than old pay"; JOptionPane.showMessageDialog(null, "New net pay is $" + newPay + " per week"); System.exit(0); }}

Page 67: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

C:\Java>javac –source 1.6 PayRaise.java

C:\Java>java –ea PayraiseException in thread “main”

java.lang.AssertioniError:Old Pay is $12.48New pay is $0.0New pay should be more than old pay At PayRaise.main<PayRaise.java:18>

C:\Java>

Page 68: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

public class CustomerAccount{ private int acctNum; private double balance; public static double HIGH_CREDIT_LIMIT = 20000.00; public CustomerAccount(int num, double bal) throws

HighBalanceException { acctNum = num; balance = bal; if(balance > HIGH_CREDIT_LIMIT) throw(new HighBalanceException()); }}

Page 69: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist

import javax.swing.*;public class DemoStackTrace{ public static void main(String[] args) { methodA(); // line 6 } public static void methodA() { System.out.println("In methodA()"); methodB(); // line 11 } public static void methodB() { System.out.println("In methodB()"); methodC(); // line 16 } public static void methodC() { System.out.println("In methodC()"); JFrame frame = null; frame.setVisible(true); // line 22 }}

Page 70: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist
Page 71: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist
Page 72: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist
Page 73: Tues. Nov. 25.  An exception is an unexpected error or condition, such as ◦ You issue a command to read a file from a disk, but the file does not exist