java programming fourth edition - computer scienceszhou/351/ch15.pdf · 2009-12-01 · java...
TRANSCRIPT
![Page 1: Java Programming Fourth Edition - Computer Scienceszhou/351/ch15.pdf · 2009-12-01 · Java Programming, Fourth Edition 25 Using the finally Block (continued) • Reasons final set](https://reader033.vdocuments.us/reader033/viewer/2022042012/5e72a7056d2be721e972e6d3/html5/thumbnails/1.jpg)
Java Programming Fourth Edition
Chapter 15 Exception Handling
![Page 2: Java Programming Fourth Edition - Computer Scienceszhou/351/ch15.pdf · 2009-12-01 · Java Programming, Fourth Edition 25 Using the finally Block (continued) • Reasons final set](https://reader033.vdocuments.us/reader033/viewer/2022042012/5e72a7056d2be721e972e6d3/html5/thumbnails/2.jpg)
Java Programming, Fourth Edition 2
Objectives
• Learn about exceptions • Understand the limitations of traditional error
handling • Try code and catch Exceptions • Throw and catch multiple Exceptions • Use the finally block
![Page 3: Java Programming Fourth Edition - Computer Scienceszhou/351/ch15.pdf · 2009-12-01 · Java Programming, Fourth Edition 25 Using the finally Block (continued) • Reasons final set](https://reader033.vdocuments.us/reader033/viewer/2022042012/5e72a7056d2be721e972e6d3/html5/thumbnails/3.jpg)
Java Programming, Fourth Edition 3
Objectives (continued)
• Understand the advantages of exception handling • Specify the Exceptions a method can throw • Trace Exceptions through the call stack • Create your own Exceptions • Use an assertion
![Page 4: Java Programming Fourth Edition - Computer Scienceszhou/351/ch15.pdf · 2009-12-01 · Java Programming, Fourth Edition 25 Using the finally Block (continued) • Reasons final set](https://reader033.vdocuments.us/reader033/viewer/2022042012/5e72a7056d2be721e972e6d3/html5/thumbnails/4.jpg)
Java Programming, Fourth Edition 4
Learning About Exceptions
• Exceptions – Unexpected or error condition – Not usual occurrences – Causes
• Call to file that does not exist • Try to write to full disk • User enters invalid data • Program attempts to divide value by 0
![Page 5: Java Programming Fourth Edition - Computer Scienceszhou/351/ch15.pdf · 2009-12-01 · Java Programming, Fourth Edition 25 Using the finally Block (continued) • Reasons final set](https://reader033.vdocuments.us/reader033/viewer/2022042012/5e72a7056d2be721e972e6d3/html5/thumbnails/5.jpg)
Java Programming, Fourth Edition 5
Learning About Exceptions (continued)
• Exception handling – Object-oriented techniques used to manage Exception errors
• Exceptions – Objects – Descend from Throwable class
![Page 6: Java Programming Fourth Edition - Computer Scienceszhou/351/ch15.pdf · 2009-12-01 · Java Programming, Fourth Edition 25 Using the finally Block (continued) • Reasons final set](https://reader033.vdocuments.us/reader033/viewer/2022042012/5e72a7056d2be721e972e6d3/html5/thumbnails/6.jpg)
Java Programming, Fourth Edition 6
Learning About Exceptions (continued)
• Error class – Represents serious errors from which program
usually cannot recover – Error condition
• Program runs out of memory • Program cannot locate required class
![Page 7: Java Programming Fourth Edition - Computer Scienceszhou/351/ch15.pdf · 2009-12-01 · Java Programming, Fourth Edition 25 Using the finally Block (continued) • Reasons final set](https://reader033.vdocuments.us/reader033/viewer/2022042012/5e72a7056d2be721e972e6d3/html5/thumbnails/7.jpg)
Java Programming, Fourth Edition 7
Learning About Exceptions (continued)
• Exception class – Less serious errors – Unusual conditions – Program can recover
• Exception class errors – Invalid array subscript – Performing illegal arithmetic operations
![Page 8: Java Programming Fourth Edition - Computer Scienceszhou/351/ch15.pdf · 2009-12-01 · Java Programming, Fourth Edition 25 Using the finally Block (continued) • Reasons final set](https://reader033.vdocuments.us/reader033/viewer/2022042012/5e72a7056d2be721e972e6d3/html5/thumbnails/8.jpg)
Java Programming, Fourth Edition 8
Learning About Exceptions (continued)
• Throwable object Error or Exception – Examine message after error occurs – Exception message
• Error preventable by using specific code within program
– Error message • Program terminates • No program code can prevent
![Page 9: Java Programming Fourth Edition - Computer Scienceszhou/351/ch15.pdf · 2009-12-01 · Java Programming, Fourth Edition 25 Using the finally Block (continued) • Reasons final set](https://reader033.vdocuments.us/reader033/viewer/2022042012/5e72a7056d2be721e972e6d3/html5/thumbnails/9.jpg)
Java Programming, Fourth Edition 9
The MathMistake class
![Page 10: Java Programming Fourth Edition - Computer Scienceszhou/351/ch15.pdf · 2009-12-01 · Java Programming, Fourth Edition 25 Using the finally Block (continued) • Reasons final set](https://reader033.vdocuments.us/reader033/viewer/2022042012/5e72a7056d2be721e972e6d3/html5/thumbnails/10.jpg)
Java Programming, Fourth Edition 10
Output of the Attempted Execution of the MathMistake Application
![Page 11: Java Programming Fourth Edition - Computer Scienceszhou/351/ch15.pdf · 2009-12-01 · Java Programming, Fourth Edition 25 Using the finally Block (continued) • Reasons final set](https://reader033.vdocuments.us/reader033/viewer/2022042012/5e72a7056d2be721e972e6d3/html5/thumbnails/11.jpg)
Java Programming, Fourth Edition 11
Understanding the Limitations of Traditional Error Handling
• System.exit() method – Return 1 if error is causing program termination – Or 0 if program ending normally – Circumvents displaying error message
• Fault-tolerant – Designed to continue to operate when some part of
system fails • Robustness
– Represents degree to which system is resilient to stress
![Page 12: Java Programming Fourth Edition - Computer Scienceszhou/351/ch15.pdf · 2009-12-01 · Java Programming, Fourth Edition 25 Using the finally Block (continued) • Reasons final set](https://reader033.vdocuments.us/reader033/viewer/2022042012/5e72a7056d2be721e972e6d3/html5/thumbnails/12.jpg)
Java Programming, Fourth Edition 12
Trying Code and Catching Exceptions
• try block – Segment of code in which something might go wrong – Attempts to execute
• Acknowledging exception might occur
• try block includes: – Keyword try – Opening and closing curly brace – Executable statements
• Which might cause exception
![Page 13: Java Programming Fourth Edition - Computer Scienceszhou/351/ch15.pdf · 2009-12-01 · Java Programming, Fourth Edition 25 Using the finally Block (continued) • Reasons final set](https://reader033.vdocuments.us/reader033/viewer/2022042012/5e72a7056d2be721e972e6d3/html5/thumbnails/13.jpg)
Java Programming, Fourth Edition 13
Trying Code and Catching Exceptions (continued)
• catch block – Segment of code – Immediately follows try block – Handles exception thrown by try block preceding it – Can “catch”
• Object of type Exception • Or Exception child class
• throw statement – Sends Exception out of method – It can be handled elsewhere
![Page 14: Java Programming Fourth Edition - Computer Scienceszhou/351/ch15.pdf · 2009-12-01 · Java Programming, Fourth Edition 25 Using the finally Block (continued) • Reasons final set](https://reader033.vdocuments.us/reader033/viewer/2022042012/5e72a7056d2be721e972e6d3/html5/thumbnails/14.jpg)
Java Programming, Fourth Edition 14
Trying Code and Catching Exceptions (continued)
• catch block includes: – Keyword catch – Opening and closing parentheses
• Exception type – Opening and closing curly braces
• Statements to handle error condition
![Page 15: Java Programming Fourth Edition - Computer Scienceszhou/351/ch15.pdf · 2009-12-01 · Java Programming, Fourth Edition 25 Using the finally Block (continued) • Reasons final set](https://reader033.vdocuments.us/reader033/viewer/2022042012/5e72a7056d2be721e972e6d3/html5/thumbnails/15.jpg)
Java Programming, Fourth Edition 15
Format of try...catch Pair
![Page 16: Java Programming Fourth Edition - Computer Scienceszhou/351/ch15.pdf · 2009-12-01 · Java Programming, Fourth Edition 25 Using the finally Block (continued) • Reasons final set](https://reader033.vdocuments.us/reader033/viewer/2022042012/5e72a7056d2be721e972e6d3/html5/thumbnails/16.jpg)
Java Programming, Fourth Edition 16
Trying Code and Catching Exceptions (continued)
• Don’t confuse catch block and catch() method – catch() method
• Returns some type of Exception – catch block
• Has no return type • Can’t call it directly
![Page 17: Java Programming Fourth Edition - Computer Scienceszhou/351/ch15.pdf · 2009-12-01 · Java Programming, Fourth Edition 25 Using the finally Block (continued) • Reasons final set](https://reader033.vdocuments.us/reader033/viewer/2022042012/5e72a7056d2be721e972e6d3/html5/thumbnails/17.jpg)
Java Programming, Fourth Edition 17
The MathMistakeCaught Application
![Page 18: Java Programming Fourth Edition - Computer Scienceszhou/351/ch15.pdf · 2009-12-01 · Java Programming, Fourth Edition 25 Using the finally Block (continued) • Reasons final set](https://reader033.vdocuments.us/reader033/viewer/2022042012/5e72a7056d2be721e972e6d3/html5/thumbnails/18.jpg)
Java Programming, Fourth Edition 18
Throwing and Catching Multiple Exceptions
• Can place multiple statements within try block – Only first error-generating statement throws Exception
• Catch multiple Exceptions – Examined in sequence
• Until match found for Exception type – Matching catch block executes – Each remaining catch block bypassed
![Page 19: Java Programming Fourth Edition - Computer Scienceszhou/351/ch15.pdf · 2009-12-01 · Java Programming, Fourth Edition 25 Using the finally Block (continued) • Reasons final set](https://reader033.vdocuments.us/reader033/viewer/2022042012/5e72a7056d2be721e972e6d3/html5/thumbnails/19.jpg)
Java Programming, Fourth Edition 19
The TwoMistakes Class
![Page 20: Java Programming Fourth Edition - Computer Scienceszhou/351/ch15.pdf · 2009-12-01 · Java Programming, Fourth Edition 25 Using the finally Block (continued) • Reasons final set](https://reader033.vdocuments.us/reader033/viewer/2022042012/5e72a7056d2be721e972e6d3/html5/thumbnails/20.jpg)
Java Programming, Fourth Edition 20
The TwoMistakes2 Class
![Page 21: Java Programming Fourth Edition - Computer Scienceszhou/351/ch15.pdf · 2009-12-01 · Java Programming, Fourth Edition 25 Using the finally Block (continued) • Reasons final set](https://reader033.vdocuments.us/reader033/viewer/2022042012/5e72a7056d2be721e972e6d3/html5/thumbnails/21.jpg)
Java Programming, Fourth Edition 21
Throwing and Catching Multiple Exceptions (continued)
• “Catch-all” block – Accepts more generic Exception argument type catch(Exception e)
• Unreachable code – Program statements that can never execute under
any circumstances • Poor style for method to throw more than three or
four types
![Page 22: Java Programming Fourth Edition - Computer Scienceszhou/351/ch15.pdf · 2009-12-01 · Java Programming, Fourth Edition 25 Using the finally Block (continued) • Reasons final set](https://reader033.vdocuments.us/reader033/viewer/2022042012/5e72a7056d2be721e972e6d3/html5/thumbnails/22.jpg)
Java Programming, Fourth Edition 22
Using the finally Block
• finally block – Use for actions you must perform at end of try...catch sequence
– Use finally block to perform cleanup tasks – Executes regardless of whether preceding try block
identifies an Exception
![Page 23: Java Programming Fourth Edition - Computer Scienceszhou/351/ch15.pdf · 2009-12-01 · Java Programming, Fourth Edition 25 Using the finally Block (continued) • Reasons final set](https://reader033.vdocuments.us/reader033/viewer/2022042012/5e72a7056d2be721e972e6d3/html5/thumbnails/23.jpg)
Java Programming, Fourth Edition 23
Format of try...catch...finally Sequence
![Page 24: Java Programming Fourth Edition - Computer Scienceszhou/351/ch15.pdf · 2009-12-01 · Java Programming, Fourth Edition 25 Using the finally Block (continued) • Reasons final set](https://reader033.vdocuments.us/reader033/viewer/2022042012/5e72a7056d2be721e972e6d3/html5/thumbnails/24.jpg)
Java Programming, Fourth Edition 24
Using the finally Block (continued)
• When try code fails – Throws Exception – Exception caught – catch block executes
• Control passes to statements at end of method
![Page 25: Java Programming Fourth Edition - Computer Scienceszhou/351/ch15.pdf · 2009-12-01 · Java Programming, Fourth Edition 25 Using the finally Block (continued) • Reasons final set](https://reader033.vdocuments.us/reader033/viewer/2022042012/5e72a7056d2be721e972e6d3/html5/thumbnails/25.jpg)
Java Programming, Fourth Edition 25
Using the finally Block (continued)
• Reasons final set of statements might never execute – Unplanned Exception might occur – try or catch block might contain System.exit(); statement
• try block might throw Exception for which you did not provide catch block – Program execution stops immediately – Exception sent to operating system for handling – Current method abandoned
![Page 26: Java Programming Fourth Edition - Computer Scienceszhou/351/ch15.pdf · 2009-12-01 · Java Programming, Fourth Edition 25 Using the finally Block (continued) • Reasons final set](https://reader033.vdocuments.us/reader033/viewer/2022042012/5e72a7056d2be721e972e6d3/html5/thumbnails/26.jpg)
Java Programming, Fourth Edition 26
Using the finally Block (continued)
• When finally block used – finally statements execute before method
abandoned • Finally block executes no matter what outcome
of try block occurs – try ends normally – catch executes – Exception causes method to abandon prematurely
![Page 27: Java Programming Fourth Edition - Computer Scienceszhou/351/ch15.pdf · 2009-12-01 · Java Programming, Fourth Edition 25 Using the finally Block (continued) • Reasons final set](https://reader033.vdocuments.us/reader033/viewer/2022042012/5e72a7056d2be721e972e6d3/html5/thumbnails/27.jpg)
Java Programming, Fourth Edition 27
Understanding the Advantages of Exception Handling
• Before object-oriented programming languages – Errors handled with confusing, error-prone methods – When any method fails
• Program sets appropriate error code – Difficult to follow
• Application’s purpose and intended outcome lost in maze of if statements
• Coding mistakes because of complicated nesting
![Page 28: Java Programming Fourth Edition - Computer Scienceszhou/351/ch15.pdf · 2009-12-01 · Java Programming, Fourth Edition 25 Using the finally Block (continued) • Reasons final set](https://reader033.vdocuments.us/reader033/viewer/2022042012/5e72a7056d2be721e972e6d3/html5/thumbnails/28.jpg)
Java Programming, Fourth Edition 28
Pseudocode Representing Traditional Error Checking
![Page 29: Java Programming Fourth Edition - Computer Scienceszhou/351/ch15.pdf · 2009-12-01 · Java Programming, Fourth Edition 25 Using the finally Block (continued) • Reasons final set](https://reader033.vdocuments.us/reader033/viewer/2022042012/5e72a7056d2be721e972e6d3/html5/thumbnails/29.jpg)
Java Programming, Fourth Edition 29
Understanding the Advantages of Exception Handling (continued)
• Java’s object-oriented, error-handling technique – Statements of program that do “real” work – Placed together where logic is easy to follow – Unusual, exceptional events
• Grouped • Moved out of the way
• Advantage to object-oriented exception handling – Flexibility in handling of error situations
![Page 30: Java Programming Fourth Edition - Computer Scienceszhou/351/ch15.pdf · 2009-12-01 · Java Programming, Fourth Edition 25 Using the finally Block (continued) • Reasons final set](https://reader033.vdocuments.us/reader033/viewer/2022042012/5e72a7056d2be721e972e6d3/html5/thumbnails/30.jpg)
Java Programming, Fourth Edition 30
Pseudocode Representing Object-Oriented Exception Handling
![Page 31: Java Programming Fourth Edition - Computer Scienceszhou/351/ch15.pdf · 2009-12-01 · Java Programming, Fourth Edition 25 Using the finally Block (continued) • Reasons final set](https://reader033.vdocuments.us/reader033/viewer/2022042012/5e72a7056d2be721e972e6d3/html5/thumbnails/31.jpg)
Java Programming, Fourth Edition 31
Understanding the Advantages of Exception Handling (continued)
• Appropriately deal with Exceptions as you decide how to handle them
• If method throws Exception – Must also use keyword throws followed by Exception type in method header
![Page 32: Java Programming Fourth Edition - Computer Scienceszhou/351/ch15.pdf · 2009-12-01 · Java Programming, Fourth Edition 25 Using the finally Block (continued) • Reasons final set](https://reader033.vdocuments.us/reader033/viewer/2022042012/5e72a7056d2be721e972e6d3/html5/thumbnails/32.jpg)
Java Programming, Fourth Edition 32
The PriceList Class
![Page 33: Java Programming Fourth Edition - Computer Scienceszhou/351/ch15.pdf · 2009-12-01 · Java Programming, Fourth Edition 25 Using the finally Block (continued) • Reasons final set](https://reader033.vdocuments.us/reader033/viewer/2022042012/5e72a7056d2be721e972e6d3/html5/thumbnails/33.jpg)
Java Programming, Fourth Edition 33
Specifying the Exceptions a Method Can Throw
• Every Java method has potential to throw an Exception – For most Java methods, do not use throws clause – Let Java handle any Exception by shutting down
program – Most exceptions never have to be explicitly thrown or
caught
![Page 34: Java Programming Fourth Edition - Computer Scienceszhou/351/ch15.pdf · 2009-12-01 · Java Programming, Fourth Edition 25 Using the finally Block (continued) • Reasons final set](https://reader033.vdocuments.us/reader033/viewer/2022042012/5e72a7056d2be721e972e6d3/html5/thumbnails/34.jpg)
Java Programming, Fourth Edition 34
Specifying the Exceptions a Method Can Throw (continued)
• Checked exceptions – Programmers should anticipate – Programs should be able to recover
• Unchecked exceptions – Errors
• External to program – Runtime exceptions
• Internal to program • Logic errors
![Page 35: Java Programming Fourth Edition - Computer Scienceszhou/351/ch15.pdf · 2009-12-01 · Java Programming, Fourth Edition 25 Using the finally Block (continued) • Reasons final set](https://reader033.vdocuments.us/reader033/viewer/2022042012/5e72a7056d2be721e972e6d3/html5/thumbnails/35.jpg)
Java Programming, Fourth Edition 35
Specifying the Exceptions a Method Can Throw (continued)
• Throw checked exception – Catch it – Or declare exception in method header’s throws
clause • RuntimeException class
– Represent unplanned exceptions that occur during program’s execution
– Can occur anywhere in program – Can be numerous in typical program
![Page 36: Java Programming Fourth Edition - Computer Scienceszhou/351/ch15.pdf · 2009-12-01 · Java Programming, Fourth Edition 25 Using the finally Block (continued) • Reasons final set](https://reader033.vdocuments.us/reader033/viewer/2022042012/5e72a7056d2be721e972e6d3/html5/thumbnails/36.jpg)
Java Programming, Fourth Edition 36
Specifying the Exceptions a Method Can Throw (continued)
• Must know to use method to full potential – Method’s name – Method’s return type – Type and number of arguments method requires – Type and number of Exceptions method throws
![Page 37: Java Programming Fourth Edition - Computer Scienceszhou/351/ch15.pdf · 2009-12-01 · Java Programming, Fourth Edition 25 Using the finally Block (continued) • Reasons final set](https://reader033.vdocuments.us/reader033/viewer/2022042012/5e72a7056d2be721e972e6d3/html5/thumbnails/37.jpg)
Java Programming, Fourth Edition 37
Tracing Exceptions Through the Call Stack
• Call stack – Memory location where computer stores list of
method locations to which system must return • When method throws Exception
– Exception thrown to next method up call stack – Allows methods to handle Exceptions wherever
programmer has decided it is most appropriate • Including allowing operating system to handle error
![Page 38: Java Programming Fourth Edition - Computer Scienceszhou/351/ch15.pdf · 2009-12-01 · Java Programming, Fourth Edition 25 Using the finally Block (continued) • Reasons final set](https://reader033.vdocuments.us/reader033/viewer/2022042012/5e72a7056d2be721e972e6d3/html5/thumbnails/38.jpg)
Java Programming, Fourth Edition 38
Cycling Through the Call Stack
![Page 39: Java Programming Fourth Edition - Computer Scienceszhou/351/ch15.pdf · 2009-12-01 · Java Programming, Fourth Edition 25 Using the finally Block (continued) • Reasons final set](https://reader033.vdocuments.us/reader033/viewer/2022042012/5e72a7056d2be721e972e6d3/html5/thumbnails/39.jpg)
Java Programming, Fourth Edition 39
Tracing Exceptions Through the Call Stack (continued)
• printStackTrace() method – Display list of methods in call stack – Determine location of Exception – Do not place in finished program
• Most useful for diagnosing problems
![Page 40: Java Programming Fourth Edition - Computer Scienceszhou/351/ch15.pdf · 2009-12-01 · Java Programming, Fourth Edition 25 Using the finally Block (continued) • Reasons final set](https://reader033.vdocuments.us/reader033/viewer/2022042012/5e72a7056d2be721e972e6d3/html5/thumbnails/40.jpg)
Java Programming, Fourth Edition 40
Creating Your Own Exceptions
• Java provides over 40 categories of Exceptions • Java allows you to create your own Exceptions
– Extend a subclass of Throwable • Exception class constructors
Exception() Exception(String message)
Exception(String message, Throwable cause)
Exception(Throwable cause)
![Page 41: Java Programming Fourth Edition - Computer Scienceszhou/351/ch15.pdf · 2009-12-01 · Java Programming, Fourth Edition 25 Using the finally Block (continued) • Reasons final set](https://reader033.vdocuments.us/reader033/viewer/2022042012/5e72a7056d2be721e972e6d3/html5/thumbnails/41.jpg)
Java Programming, Fourth Edition 41
Using Assertions
• Assertion – Java language feature – Detect logic errors – Debug programs
• assert statement – Create assertion assert booleanExpression : optionalErrorMessage
– Boolean expression should always be true if program working correctly
![Page 42: Java Programming Fourth Edition - Computer Scienceszhou/351/ch15.pdf · 2009-12-01 · Java Programming, Fourth Edition 25 Using the finally Block (continued) • Reasons final set](https://reader033.vdocuments.us/reader033/viewer/2022042012/5e72a7056d2be721e972e6d3/html5/thumbnails/42.jpg)
Java Programming, Fourth Edition 42
Using Assertions (continued)
• AssertionError thrown – When condition false
• Enable assertion – Compile program using -source 1.6 option – Execute program using -ea option
![Page 43: Java Programming Fourth Edition - Computer Scienceszhou/351/ch15.pdf · 2009-12-01 · Java Programming, Fourth Edition 25 Using the finally Block (continued) • Reasons final set](https://reader033.vdocuments.us/reader033/viewer/2022042012/5e72a7056d2be721e972e6d3/html5/thumbnails/43.jpg)
Java Programming, Fourth Edition 43
You Do It
• Catching an Exception and using getMessage()
• Generating a NumberFormatException • Adding NumberFormatException handling
capabilities to an application • Creating a class that automatically throws Exceptions
• Creating a class that passes on an Exception
![Page 44: Java Programming Fourth Edition - Computer Scienceszhou/351/ch15.pdf · 2009-12-01 · Java Programming, Fourth Edition 25 Using the finally Block (continued) • Reasons final set](https://reader033.vdocuments.us/reader033/viewer/2022042012/5e72a7056d2be721e972e6d3/html5/thumbnails/44.jpg)
Java Programming, Fourth Edition 44
You Do It (continued)
• Creating an application that can catch Exceptions
• Extending a class that throws Exceptions • Using printStackTrace() method • Creating an Exception class • Using an Exception you created
![Page 45: Java Programming Fourth Edition - Computer Scienceszhou/351/ch15.pdf · 2009-12-01 · Java Programming, Fourth Edition 25 Using the finally Block (continued) • Reasons final set](https://reader033.vdocuments.us/reader033/viewer/2022042012/5e72a7056d2be721e972e6d3/html5/thumbnails/45.jpg)
Java Programming, Fourth Edition 45
Summary
• Exception – Unexpected or error condition
• Exception handling – Object-oriented techniques to manage errors
• Basic classes of errors Error and Exception • Exception handling code
– try block – catch block – finally block
![Page 46: Java Programming Fourth Edition - Computer Scienceszhou/351/ch15.pdf · 2009-12-01 · Java Programming, Fourth Edition 25 Using the finally Block (continued) • Reasons final set](https://reader033.vdocuments.us/reader033/viewer/2022042012/5e72a7056d2be721e972e6d3/html5/thumbnails/46.jpg)
Java Programming, Fourth Edition 46
Summary (continued)
• Use clause throws <name>Exception after method header – Indicate type of Exception that might be thrown
• Call stack – List of method locations where system must return
• Java provides over 40 categories of Exceptions – Create your own Exceptions
• Assertion – State condition that should be true – Java throws AssertionError when it is not