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

Chapter 5 Exeption Handlingv2

The document discusses exception handling in object oriented programming. It defines exceptions as events that disrupt normal program flow, such as invalid user input or hardware errors. There are three categories of exceptions: checked exceptions which cannot be ignored at compilation, unchecked exceptions which could potentially be avoided, and errors which are beyond the programmer's control. The document outlines exception handling techniques like try/catch blocks and throws declarations, and explains how exceptions can be caught, thrown, and handled using finally blocks to ensure cleanup code always executes.

Uploaded by

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

Chapter 5 Exeption Handlingv2

The document discusses exception handling in object oriented programming. It defines exceptions as events that disrupt normal program flow, such as invalid user input or hardware errors. There are three categories of exceptions: checked exceptions which cannot be ignored at compilation, unchecked exceptions which could potentially be avoided, and errors which are beyond the programmer's control. The document outlines exception handling techniques like try/catch blocks and throws declarations, and explains how exceptions can be caught, thrown, and handled using finally blocks to ensure cleanup code always executes.

Uploaded by

elias ferhan
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

Object oriented programming

Chapter Five

Exceptions Handling
by
Demeke G.

1
Exceptions
▪ An exception is an event that disrupts the normal flow
of the program.
▪ An exception is a problem that arises during the
execution of a program.
▪ It is an abnormal condition.
▪ An exception can occur for many different reasons,
including
▪ A user has entered invalid data.
▪ A file that needs to be opened cannot be found.
▪ A network connection has been lost in the middle of
communications
▪ JVM has run out of memory.
▪ Exceptions are caused by user error, programmer error,
and physical resources that have failed in some manner.
2
Cont..
There are three categories of exceptions
A)Checked exceptions
❖ An exception that is typically a user error or a problem
that cannot be foreseen by the programmer.
❖Cannot be ignored at the time of compilation
o For example, if a file is to be opened, but the file cannot
be found, an exception occurs.

3
Cont..
B)Unchecked exceptions
❖An exception that probably could have been avoided by the
programmer.
❖These are also called as Runtime Exceptions
❖Are not checked at compile-time rather they are checked at
runtime.

4
Cont..
C)Errors
❖These are not exceptions at all, but problems that arise
beyond the control of the user or the programmer.
❖Error is irrecoverable.
❖For example, OutOfMemoryError,
VirtualMachineError, memory leaks, stack
overflow errors etc.

5
Exception Hierarchy
▪ All exception classes are subtypes of the
java.lang.Exception class.
▪ The Exception and Error class is a subclass of the
Throwable class.
▪ Errors are not handled by the java programs
▪ Errors are generated to indicate errors generated by the
runtime environment.
▪ Example: JVM is out of Memory. Normally programs
cannot recover from errors.

6
Hierarchy of Java Exception classes

7
Exceptions Methods
❖ List of important methods available in the Throwable
class.
▪ public String getMessage() :Returns a detailed message about
the exception that has occurred. This message is initialized in the
Throwable constructor.
▪ public Throwable getCause(): Returns the cause of the
exception as represented by a Throwable object.
▪ public String toString():Returns the name of the class
concatenated with the result of getMessage()
▪ public void printStackTrace():Prints the result of toString()
along with the stack trace to System.err, the error output stream.

8
Catching Exceptions
▪ Exception Handling is a mechanism to handle runtime
errors such as ClassNotFound, IO, SQL, Remote etc.
▪ The core advantage of exception handling is to maintain
the normal flow of the application.
▪ Exception normally disrupts the normal flow of the
application.
▪ A method catches an exception using a combination of the
try and catch keywords.
▪ A try/catch block is placed around the code that might
generate an exception.

9
cont..
▪ Code within a try/catch block is referred to as protected
code.
▪ The syntax for using try/catch looks like the following:
try
{
//Protected code
}catch(ExceptionName e1)
{
//Catch block
}
▪ A catch statement involves declaring the type of exception
you are trying to catch.
▪ If an exception occurs in protected code, the catch block
(or blocks) that follows the try is checked. 10
Cont..
▪ If the type of exception that occurred is listed in a catch
block, the exception is passed to the catch block much as
an argument is passed into a method parameter
▪ We can’t have catch or finally clause without a try
statement.
▪ A try statement should have either catch block or finally
block, it can have both blocks.
▪ Can’t write any code between try-catch-finally blocks.
▪ Can have multiple catch blocks with a single try statement.
▪ try-catch blocks can be nested similar to if-else statements.
▪ Can have only one finally block with a try-catch
statement. 11
Example
import java.io.*;
public class ExcepTest{
public static void main(String args[]){
try{
int a[]=new int[2];
System.out.println("Access element three:"+a[3]);
}catch(ArrayIndexOutOfBoundsException e)
{
System.out.println("Exception thrown :"+ e);
}
System.out.println("Out of the block");
}
12
The throws/throw Keywords
▪ If a method does not handle a checked exception, the
method must declare it using the throws keyword.
▪ The throws keyword appears at the end of a method's
signature
▪ You can throw an exception, either a newly instantiated
one or an exception that you just caught, by using the
throw keyword.
▪ The following method declares that it throws a
RemoteException.
import java.io.*;
public class className
{
public void deposit(double amount) throws RemoteException
{
// Method implementation
throw new RemoteException();
}
//Remainder of class definition
} 13
Cont..
▪ A method can declare that it throws more than one exception,
in which case the exceptions are declared in a list separated
by commas.
▪ For example, the following method declares that it throws a
RemoteException and an InsufficientFundsException:
import java.io.*;
public class className
{
public void withdraw(double amount) throws
RemoteException, InsufficientFundsException
{
// Method implementation
}
//Remainder of class definition
}
14
Example
class CustomerList{
void getAllCustomers() throws Exception{
// some other code goes here
try{
file.read(); // this line may throw an exception
} catch (IOException e) {
throw new Exception (“Customer List is not available “+ e.getMessage());
}
}
public static void main(String[] args){
System.out.println(“Customer List”);
try{
getAllCustomers();
}
catch(Exception e){
System.out.println(e.getMessage());
}} 15
The finally Keyword
❖ The finally keyword is used to create a block of code that
follows a try block.
❖ A finally block of code always executes, whether or not
an exception has occurred.
❖ Using a finally block allows you to run any cleanup-type
statements that you want to execute, no matter what
happens in the protected code.
❖ A finally block appears at the end of the catch blocks
❖ The finally block is optional.
❖ For each try block, there can be only one finally block.

16
Cont..
try
{
//Protected code
}catch(ExceptionType1 e1)
{
//Catch block
}catch(ExceptionType2 e2)
{
//Catch block
}catch(ExceptionType3 e3)
{
//Catch block
}finally
{ //The finally block always executes.
}
17

You might also like