KEMBAR78
Exception handling in JAVA | PPTX
Exception Handling
in JAVA
By – Kunal Singh
Jaskaran Singh
CLASS PRESENTATION
What is Exception?
• An exception is a problem that arises during the
execution of a program. When an Exception occurs the
normal flow of the program is disrupted and the
program terminates abnormally
• Exception Handling is a mechanism to handle runtime
errors.
Situations in which exception
can occur :-
• User entering invalid data.
• Opening a non-existing file.
• Network connections problem.
• Number format exception.
Types of Exception
• Checked exceptions − A checked exception is an
exception that occurs at the compile time, these are also
called as Compile time exceptions.
• Unchecked exceptions − An unchecked exception is an
exception that occurs at the time of execution. These are
also called as Runtime Exceptions.
• Errors − These are not exceptions at all, but problems
that arise beyond the control of the user or the
programmer. e.g. OutOfMemoryError,
VirtualMachineError.
Exception Hierarchy
Try-Catch Block
• Try block- It is used to enclose
the code that might throw an
exception. It must be used within
the method.
• Catch block- It is used to handle
the Exception. It must be used
after the try block only. It involves
declaring the type of exception
you are trying to catch.
Syntax:-
try
{
// Protected code
}
catch(ExceptionName e)
{
// Catch block
}
Example (without exception handling)
public class Testtrycatch1{
public static void main(String args[]){
int data=50/0;
System.out.print("rest ");
System.out.print(“of");
System.out.print(“the");
System.out.print(“code");
}
}
Output- Exception in thread main
java.lang.ArithmeticException:/ by zero
Example (with exception handling)
public class Testtrycatch2{
public static void main(String args[]){
try{
int data=50/0;
}
catch(ArithmeticException e)
{ System.out.println(e);
}
System.out.println("rest of the code...");
} }
Output- Exception in thread main
java.lang.ArithmeticException:/ by zero
rest of the code...
Multiple 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(“e");}
catch(ArrayIndexOutOfBoundsException e){System.out.println(“e");}
System.out.println("rest of the code..."); }
}
Output- Exception in thread main
java.lang.ArithmeticException:/ by zero
rest of the code...
Some common Sub-Classes of exception
are:-
• ArithmeticException - If we divide any number by
zero, there occurs an ArithmeticException
int a=50/0;
• NullPointerException - If we have null value in any
variable, performing any operation by the variable
occurs an NullPointerException.
String s=null;
System.out.println(s.length());
• ArrayIndexOutOfBoundsException - If we are
inserting any value in the wrong index, it would
result ArrayIndexOutOfBoundsException.
int a[]=new int[5];
a[10]=50;
• NumberFormatException- The wrong formatting
of any value, may occur NumberFormatException.
String s="abc";
int i=Integer.parseInt(s);
Finally block
• Finally block is a block
that is used to execute
important code.
• It is always executed
whether exception is
handled or not.
• The finally block follows
a try block or a catch
block.
try {
// Protected code
}
catch (ExceptionType1 e1)
{ // Catch block
}
catch (ExceptionType2 e2)
{ // Catch block
}
catch (ExceptionType3 e3)
{ // Catch block
}
finally
{
// The finally block always
executes.
}
Example
public class TestFinallyBlock2{
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 will execute");}
} }
Output:Exception in thread main
java.lang.ArithmeticException:/ by zero
finally block will execute
User defined exception
• If you are creating your own Exception that is
known as custom exception or user-defined
exception.
• All exceptions must be a child of Throwable.
Throw keyword
• Java throw keyword is used to explicitly throw
an exception.
• We can throw either checked or uncheked
exception in java by throw keyword.
• The throw keyword is mainly used to throw user
defined exception.
Syntax:- throw exception;
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:-
return_type method_name() throws exception_class_name{
//method code }
Difference between throw and
throws in Java
Exception handling in JAVA

Exception handling in JAVA

  • 1.
    Exception Handling in JAVA By– Kunal Singh Jaskaran Singh CLASS PRESENTATION
  • 2.
    What is Exception? •An exception is a problem that arises during the execution of a program. When an Exception occurs the normal flow of the program is disrupted and the program terminates abnormally • Exception Handling is a mechanism to handle runtime errors.
  • 3.
    Situations in whichexception can occur :- • User entering invalid data. • Opening a non-existing file. • Network connections problem. • Number format exception.
  • 4.
    Types of Exception •Checked exceptions − A checked exception is an exception that occurs at the compile time, these are also called as Compile time exceptions. • Unchecked exceptions − An unchecked exception is an exception that occurs at the time of execution. These are also called as Runtime Exceptions. • Errors − These are not exceptions at all, but problems that arise beyond the control of the user or the programmer. e.g. OutOfMemoryError, VirtualMachineError.
  • 5.
  • 6.
    Try-Catch Block • Tryblock- It is used to enclose the code that might throw an exception. It must be used within the method. • Catch block- It is used to handle the Exception. It must be used after the try block only. It involves declaring the type of exception you are trying to catch. Syntax:- try { // Protected code } catch(ExceptionName e) { // Catch block }
  • 7.
    Example (without exceptionhandling) public class Testtrycatch1{ public static void main(String args[]){ int data=50/0; System.out.print("rest "); System.out.print(“of"); System.out.print(“the"); System.out.print(“code"); } } Output- Exception in thread main java.lang.ArithmeticException:/ by zero
  • 8.
    Example (with exceptionhandling) public class Testtrycatch2{ public static void main(String args[]){ try{ int data=50/0; } catch(ArithmeticException e) { System.out.println(e); } System.out.println("rest of the code..."); } } Output- Exception in thread main java.lang.ArithmeticException:/ by zero rest of the code...
  • 9.
    Multiple Catch Block publicclass TestMultipleCatchBlock{ public static void main(String args[]){ try{ int a[]=new int[5]; a[5]=30/0; } catch(ArithmeticException e){System.out.println(“e");} catch(ArrayIndexOutOfBoundsException e){System.out.println(“e");} System.out.println("rest of the code..."); } } Output- Exception in thread main java.lang.ArithmeticException:/ by zero rest of the code...
  • 10.
    Some common Sub-Classesof exception are:- • ArithmeticException - If we divide any number by zero, there occurs an ArithmeticException int a=50/0; • NullPointerException - If we have null value in any variable, performing any operation by the variable occurs an NullPointerException. String s=null; System.out.println(s.length());
  • 11.
    • ArrayIndexOutOfBoundsException -If we are inserting any value in the wrong index, it would result ArrayIndexOutOfBoundsException. int a[]=new int[5]; a[10]=50; • NumberFormatException- The wrong formatting of any value, may occur NumberFormatException. String s="abc"; int i=Integer.parseInt(s);
  • 12.
    Finally block • Finallyblock is a block that is used to execute important code. • It is always executed whether exception is handled or not. • The finally block follows a try block or a catch block. try { // Protected code } catch (ExceptionType1 e1) { // Catch block } catch (ExceptionType2 e2) { // Catch block } catch (ExceptionType3 e3) { // Catch block } finally { // The finally block always executes. }
  • 13.
    Example public class TestFinallyBlock2{ publicstatic 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 will execute");} } } Output:Exception in thread main java.lang.ArithmeticException:/ by zero finally block will execute
  • 14.
    User defined exception •If you are creating your own Exception that is known as custom exception or user-defined exception. • All exceptions must be a child of Throwable.
  • 15.
    Throw keyword • Javathrow keyword is used to explicitly throw an exception. • We can throw either checked or uncheked exception in java by throw keyword. • The throw keyword is mainly used to throw user defined exception. Syntax:- throw exception;
  • 16.
    Throws Keyword • Thethrows 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:- return_type method_name() throws exception_class_name{ //method code }
  • 17.
    Difference between throwand throws in Java

Editor's Notes

  • #3 So exception are nothing but some abnormal and typically an event or conditions that arise during the execution which may intrrupt the normal flow of program. and
  • #4 And many more…
  • #5 There are mainly two types of exceptions: checked and unchecked where error is considered as unchecked exception. Checked- These exceptions cannot be ignored at the time of compilation, the programmer should take care of (handle) these exceptions. Unchecked - These include programming bugs, such as logic errors or improper use of an API. Runtime exceptions are ignored at the time of compilation.
  • #6 All exception classes are subtypes of the java.lang.Exception class. The exception class and error are the subclasses of the Throwable class.
  • #7 try block must be followed by either catch or finally block. You can use multiple catch block with a single try.
  • #8 In this program we have divide a integer value 50 by 0 and below this there are print messages. When we will execute it a exception ArithmeticException divided by zero will occur and rest of the code will not execute.
  • #9 Now in this code using try catch block the exception can be handeled. The try clock will throw exception object to catch block and it will handle the exception. An the output will be
  • #10 A try block can be followed by multiple catch blocks. We can make multiple catch block . If the data type of the exception thrown matches ExceptionType1, it gets caught there. If not, the exception passes down to the second catch statement. In this program first exception will occur which is aaruthmatic exceotion. The output will be-
  • #11 Here are the some sub classes of exception
  • #13 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.
  • #15 It means we have to extend the exception class class InvalidAgeException extends Exception{    InvalidAgeException(String s){     super(s);    }   }   class TestCustomException1{         static void validate(int age)throws InvalidAgeException{        if(age<18)         throw new InvalidAgeException("not valid");        else         System.out.println("welcome to vote");      }            public static void main(String args[]){         try{         validate(13);         }catch(Exception m){System.out.println("Exception occured: "+m);}            System.out.println("rest of the code...");     }   }  
  • #16 import java.lang.Exception; class MyException extends Exception { MyException(String message) { super(message); } } class TestMyException { output- caught myexception number is too small public static void main(String[] args) final block { int x = 5, y = 1000; try { float z = x / y; if(z < 0.01) { throw new MyException("Number is too small"); } }  catch(MyException e) { System.out.println(“caught My Exception”); System.out.println(e.getMessage()); } finally { Number is too small } System.out.println(“final block"); }} }
  • #17 Only checked exception should be declared