0% found this document useful (0 votes)
42 views

Exceptions

An exception is an unwanted event that disrupts normal program flow. All exceptions inherit from Throwable. Exceptions indicate conditions a program might handle, while Errors usually require termination. When an exception occurs, an Exception object is created and passed up the call stack. If no handler matches, the default prints details and terminates the program. Checked exceptions must be declared or handled, while unchecked exceptions only require handling if anticipated.

Uploaded by

denise
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
42 views

Exceptions

An exception is an unwanted event that disrupts normal program flow. All exceptions inherit from Throwable. Exceptions indicate conditions a program might handle, while Errors usually require termination. When an exception occurs, an Exception object is created and passed up the call stack. If no handler matches, the default prints details and terminates the program. Checked exceptions must be declared or handled, while unchecked exceptions only require handling if anticipated.

Uploaded by

denise
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

Exception classes in Java

What is an Exception?

An exception is an unwanted or unexpected event, which occurs during the execution of a


program i.e at run time, that disrupts the normal flow of the program’s instructions.

Error vs Exception

Error: An Error indicates a serious problem that a reasonable application should not try to
catch.

Exception: Exception indicates conditions that a reasonable application might try to catch.

Exception Hierarchy

All exception and errors types are subclasses of class Throwable, which is the base class of
hierarchy. One branch is headed by Exception. This class is used for exceptional conditions
that user programs should catch. NullPointerException is an example of such an
exception.Another branch,Error, is used by the Java run-time system(JVM) to indicate errors
having to do with the run-time environment itself(JRE). StackOverflowError is an example of
such an error.

How JVM handle an Exception?

Default Exception Handling : Whenever inside a method, if an exception has occurred, the
method creates an Object known as Exception Object and hands it off to the run-time
system(JVM). The exception object contains name and description of the exception, and
current state of the program where exception has occurred. Creating the Exception Object and
handling it to the run-time system is called throwing an Exception.There might be the list of
the methods that had been called to get to the method where exception was occurred. This
ordered list of the methods is called Call Stack.Now the following procedure will happen.

● The run-time system searches the call stack to find the method that contains
block of code that can handle the occurred exception. The block of the code is
called Exception handler.
● The run-time system starts searching from the method in which exception
occurred, proceeds through call stack in the reverse order in which methods
were called.
● If it finds appropriate handler then it passes the occurred exception to it.
Appropriate handler means the type of the exception object thrown matches the
type of the exception object it can handle.
● If run-time system searches all the methods on call stack and couldn’t have
found the appropriate handler then run-time system handover the Exception
Object to default exception handler , which is part of run-time system. This
handler prints the exception information in the following format and terminates
program abnormally.

What are checked exceptions?

Checked exceptions are checked at compile-time. It means if a method is throwing a checked


exception then it should handle the exception using try-catch block or it should declare the
exception using throws keyword, otherwise the program will give a compilation error.

What are Unchecked exceptions?

Unchecked exceptions are not checked at compile time. It means if your program is throwing
an unchecked exception and even if you didn’t handle/declare that exception, the program
won’t give a compilation error. Most of the times these exception occurs due to the bad data
provided by user during the user-program interaction. It is up to the programmer to judge the
conditions in advance, that can cause such exceptions and handle them appropriately. All
Unchecked exceptions are direct sub-classes of RuntimeException class.

You might also like