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

Exception-Handling-In-Java (Join AICTE Telegram Group)

1. Exceptions represent errors or unexpected events that occur during program execution. 2. The try-catch block is used to handle exceptions, with catch blocks catching specific exception types. 3. Finally blocks contain cleanup code that always executes whether an exception occurs or not.

Uploaded by

Vivek Sharma
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
52 views

Exception-Handling-In-Java (Join AICTE Telegram Group)

1. Exceptions represent errors or unexpected events that occur during program execution. 2. The try-catch block is used to handle exceptions, with catch blocks catching specific exception types. 3. Finally blocks contain cleanup code that always executes whether an exception occurs or not.

Uploaded by

Vivek Sharma
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 20

Exception Handling in

Java
An object of
exception class exception
Int data=10/0; is thrown object

No Is Yes
handled
?

JVM
1)Prints out exception Rest of the code is
description executed
2) Prints the stack trace
3) Terminate the program
Try-catch Block

try{
//statements that may cause an exception
}
catch (exception(type) e(object))
{
//error handling code
}
Multiple catch
try { //Protected code
}
catch(ExceptionType1 e1)
{
//Catch block
}
catch(ExceptionType2 e2)
{
//Catch block
}
……
Sequence of Events
Preceding step

try block

statement

unmatched catch

matching catch

unmatched catch

next step
class Example2{
public static void main(String args[]){

try{ int a[]=new int[7];


a[4]=30/0; }
catch(ArithmeticException e) {
System.out.println("Warning: ArithmeticException"); }

catch(ArrayIndexOutOfBoundsException e){
System.out.println("Warning:ArrayIndexOutOfBoundsException"); }

catch(Exception e){
System.out.println("Warning: Some Other exception"); }

System.out.println("Out of try-catch block...");


}
}
Nested try catch
• One try-catch block can be present in the another
try’s body. This is called Nesting of try
catch blocks.
• Each time a try block does not have a catch
handler for a particular exception, the stack is
unwound and the next try block’s catch (i.e.,
parent try block’s catch) handlers are inspected
for a match.
• If no catch block matches, then the java run-time
system will handle the exception.
• Syntax of Nested try Catch
try
{ statement 1;
try {
statement 2; }
catch(Exception e1) {
//Exception Message }
}
catch(Exception e2) //Catch of Main(parent) try block
{ //Exception Message
}
What is Finally Block
• A finally statement must be associated with
a try statement.

• It identifies a block of statements that needs to be


executed regardless of whether or not an
exception occurs within the try block.

• It will run regardless of whether an exception was


thrown and handled by the try and catch parts of
the block.
Try-catch-finally
• In normal execution the finally block is executed after try
block.
• When any exception occurs first the catch block is executed
and then finally block is executed.
Try
{
Try ……
{ }
……. catch(…)
} { ……..
Finally }
{ Finally
……… {
} }
Program Code

no Exception Yes
Occurred ?

no Yes
Exception
Handled ?

Finally block is executed


Sequence for finally clause

Preceding step
try block

statement

unmatched catch
matching catch
unmatched catch
finally
next step
class Simple{  
  public static void main(String args[]){  
  try{  
   int data=25/0;  
   System.out.println(data);  
  }  
  catch(ArithmeticException e){
System.out.println(e);
}  
  finally{
System.out.println("finally block is always executed");
}  
  System.out.println("rest of the code...");  
  }  }  
Throwing our Own Exceptions
throw keyword
• In java we have already defined exception classes such as
ArithmeticException, NullPointerException etc.

• These exceptions are implicitly thrown by JVM

• The throw keyword is used to explicitly throw an


exception.

• These exceptions are known as user-defined exceptions.


Syntax of throw statement

throw new AnyThrowableInstance;

IOException e = new IOException();


throw e;
class MyException extends Exception {
public MyException (String msg) { super(msg); }
}
class TestMyException {
public static void main(String[] args) {
int age=-2;
try {
if(age < 0)
throw new MyException("Age can't be less than zero");
}
catch (MyException e) {
e.printStackTrace();
}
}
throws keyword
• The throws keyword is used to declare an exception.

• It gives an information to the programmer that there


may occur an exception.

• So it is better for the programmer to provide the


exception handling code so that normal flow can be
maintained.
Syntax of throws keyword:

void method_name() throws exception_class_name
{  
  ...   
}  
import java.io.*;  
class M {  
 void method() throws IOException{  
  throw new IOException("device error");  
 }  
}  
class Test{  
   public static void main(String args[])throws IOException{
    Test t=new Test();  
    t.method();     
    System.out.println("normal flow...");  
  }  
}  
throw keyword throws keyword
throw is used to explicitly throw an throws is used to declare an
exception. exception.
checked exception can not be checked exception can be propagated
propagated without throws. with throws.
throw is followed by an instance. throws is followed by class.

throw is used within the method. throws is used with the method
signature.
You cannot throw multiple You can declare multiple exception
exception e.g.
public void method()throws
IOException,SQLException.
Common Questions
1. What is exception? How it is handled? Explain with
suitable example.
2. Explain following terms with respect to exception
1. try
2. catch
3. throw
4. Finally
3. What are different types of errors? What is use of
throw, throws, finally.
4. Write a program to throw a user defined exception
“String Mismatch” if two strings are not equal.

You might also like