0% found this document useful (0 votes)
24 views18 pages

Exception Handling in Java

Uploaded by

Rutumbara Chakor
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
Download as pptx, pdf, or txt
0% found this document useful (0 votes)
24 views18 pages

Exception Handling in Java

Uploaded by

Rutumbara Chakor
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1/ 18

Exception Handling

Aniket Gupta
Roll no.: 02 B.Tech CSF
PRN :190105131067
Guided By – Geeta Desai ma’am
CONTENTS
 What is an Exception ?
 Error vs Exception
 Hierarchy of Java Exception classes
 Java Exception Handling Keywords
 Types of Exception in Java
 Internal working of java try-catch block
 Exception Handler
 Java Multi Catch block
 The Throws / Throw Keywords
 The finally block
 Common scenarios where exceptions may occur
 Sequence of Events for throw
 Checked Exceptions
 Un-Checked Exceptions
 User-defined Exceptions
WHAT IS AN EXCEPTION?
Exception is an abnormal condition.
 In java, exception is an event that disrupts the

normal flow of the program. It is an


 object which is thrown at runtime.

What is exception handling


 Exception Handling is a mechanism to handle

runtime errors such as ClassNotFound,


 IO, SQL, Remote etc.

Advantage of Exception Handling


 The core advantage of exception handling is to

maintain the normal flow of the


 application. Exception normally disrupts the normal

flow of the application


 that is why we use exception handling.
ERROR VS EXCEPTION
Errors: An error represents a condition serious enough
that most reasonable applications should not try to
catch.
 Virtual Machine Error

 Out of memory

 Stack overflow

 Thread Death

 Linkage Error

Exceptions: An error which reasonable applications


should catch.
 Array index out of bounds

 Arithmetic errors (divide by zero)

 Null Pointer Exception

 I/O Exceptions
HIERARCHY OF JAVA EXCEPTION
CLASSES
KEYWORDS
There are 5 keywords used in java exception handling.
 Try : Java try block is used to enclose the code that might
throw an exception. It must be used within the method. Java
try block must be followed by either catch or finally block.
 Catch : Java catch block is used to handle the Exception. It
must be used after the try block only. We can use multiple
catch block with a single try.
 Finally : Executes whether or not an exception is thrown in
the corresponding try block or any of its corresponding catch
blocks.
 Throw : You can throw an exception, either a newly
instantiated one or an exception that you just caught, by
using the throw keyword.
 Throws : If a method does not handle a checked exception,
the method must declare it using the throws keyword.
TYPES OF EXCEPTION IN JAVA
 ArithmeticException
 ArrayIndexOutOfBoundsException

 ClassCastException

 IllegalArgumentException

 IndexOutOfBoundsException

 NegativeArraySizeException

 NullPointerException

 NumberFormatException

 NoSuchMethodException
INTERNAL WORKING OF JAVA
TRY-CATCH BLOCK
EXCEPTION HANDLER

Exception
“thrown”
here Thrown exception matched against
first set of exception handlers
Exception
Handler
If it fails to match, it is matched
against next set of handlers, etc.
Exception
Handler
If exception matches none of
handlers, program is abandoned
JAVA MULTI CATCH BLOCK
public class TestMultipleCatchBlock{
public static void main(String args[]){
try{
int a[]=new int[5];
a[5]=30/0;
}
catch(ArithmeticException e){System.out.println("task1 is completed");}
catch(ArrayIndexOutOfBoundsException e)
{System.out.println("task 2 completed");}
catch(Exception e){System.out.println("common task completed");}
System.out.println("rest of the code...");
}
} At a time only one Exception is occurred and at a time only one catch
block is executed.
All catch blocks must be ordered from most specific to most general
i.e. catch for ArithmeticException must come before catch for Exception.
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.
***throws is used to postpone the handling of a checked
exception and throw is used to invoke an exception
explicitly.***

import java.io.*;
public class className
{ public void deposit(double amount) throws RemoteException
{ // Method implementation
throw new RemoteException();
}
//Remainder of class definition
}
THE FINALLY BLOCK
 The finally block follows a try block or a catch block. A finally
block of code always executes, irrespective of occurrence of
an Exception.
 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 and has
the following syntax:

try
{ //Protected code
}catch(ExceptionType1 e1)
{ //Catch block }
catch(ExceptionType2 e2)
{ //Catch block }
finally { //The finally block always executes. }
COMMON SCENARIOS WHERE
EXCEPTIONS MAY OCCUR
 ArithmeticException occurs
int a=50/0; //ArithmeticException
 NullPointerException occurs

String s=null;
System.out.println(s.length());
//NullPointerException
 NumberFormatException occurs

String s="abc";
int i=Integer.parseInt(s); //NumberFormatException
 ArrayIndexOutOfBoundsException occurs

int a[ ]=new int[5];


a[10]=50; //ArrayIndexOutOfBoundsException
SEQUENCE OF EVENTS FOR THROW
Preceding Step

Try Block

Throw
statement

Unmatched
Catch

Matching Catch

Unmatched
Catch

Next Step
CHECKED EXCEPTIONS
 Inherit from class Exception but not from
RuntimeException
 Compiler enforces catch-or-declare

requirement
 Compiler checks each method call and

method declaration
 Checked exceptions are checked at compile-

time.
e.g. IOException, SQLException etc.
UNCHECKED EXCEPTIONS
 Inherit from class RuntimeException or class
Error
 Compiler does not check code to see if

exception caught or declared


 If an unchecked exception occurs and not

caught - Program terminates or runs with


unexpected results
 Can typically be prevented by proper coding
USER-DEFINED EXCEPTIONS:
 We can create your own exceptions in Java.
Keep the following points in mind when writing
your own exception classes.
 All exceptions must be a child of Throwable.

 If you want to write a checked exception that is

automatically enforced by the Handle or


Declare Rule, you need to extend the
Exception class.
 If you want to write a runtime exception, you

need to extend the RuntimeException class.


 We can define our own Exception class as

below:
class MyException extends Exception{ }
Thank You

You might also like