Types of Exception:-
There can be two types of built-in exception classes namely, checked exceptions and unchecked exceptions. Programmer needs to explicitly mention about handling of checked exceptions in the program where as not necessarily about unchecked exceptions.
दो प्रकार के अंतर्निर्मित अपवाद Class हो सकते हैं, अर्थात् चेक किए गए अपवाद और अनियंत्रित अपवाद। प्रोग्रामर को प्रोग्राम में चेक किए गए अपवादों को संभालने के बारे में स्पष्ट रूप से उल्लेख करने की आवश्यकता होती है। जबकि अनियंत्रित अपवादों के लिए यह आवश्यक नही है।
JavaExceptionExample.java
public class JavaExceptionExample{
public static void main(String args[]){
try
{
//code that may raise exception
int data=100/0;
}
catch(ArithmeticException e)
{
System.out.println(e);
}
//rest code of the program
System.out.println("rest of the code...");
}
}
Output:
Exception in thread main java.lang.ArithmeticException:/ by zero
rest of the code...
Checked Exception
Checked exceptions are either handled by the method that generate them using a pair of keyword try and catch or it may be explicitly declared using keyword throws. Hence, compiler checks these exceptions. Below table shows some exception conditions and their corresponding checked exception classes.
Checked Exceptions को या तो ट्राई व कैच कीवर्ड का उपयोग करके नियंत्रित किया जा सकता है या फिर स्पष्ट रूप से थ्रो कीवर्ड का उपयोग करके नियंत्रित किया जा सकता है। इसलिए, कंपाइलर इन अपवादों की जाँच करता है। नीचे दी गई तालिका कुछ अपवाद स्थितियों और उनके संबंधित Checked Exception क्लास को दिखाती है।
S.No. |
Condition |
Checked Exception |
1. |
Class Not Found |
ClassNotFoundException |
2. |
Clone not supported |
CloneNotSupportedException |
3. |
Illegal access to a class |
IllegalAccessException |
4. |
Instantiation not allowed |
InstantiationException |
5. |
Interrupted by thread |
InterruptedException |
6. |
Field not found |
NoSuchFieldException |
7. |
Method does not exist |
NoSuchMethodException |
Example:
ClassNotFoundException is a checked exception and occurs when the Java Virtual Machine (JVM) tries to load a particular class and the specified class cannot be found in the classpath.
ClassNotFoundException एक प्रकार का चैक्ड एक्सेप्शन है। यह एक्सेप्शन तब पैदा होती है जब जावा वर्चअल मशीन ऐसी क्लास को लोड करने की कोशिश करती है जो डाले गए एड्रेस पर उपलब्ध ही नही हो।
// Java Program to Illustrate Handling of Checked Exception
// Importing required classes
import java.io.*;
import java.util.*;
// Main class
class GFG {
// Main driver method
public static void main(String[] args)
throws FileNotFoundException
{
// Assigning null value to object of FileInputStream
FileInputStream GFG = null;
// Try block to check for exceptions
try {
// Giving path where file should exists to read
// content
GFG = new FileInputStream(
"/home/mayur/GFG.txt");
}
// Catch block to handle exceptions
catch (FileNotFoundException e) {
// Display message when exception occurs
System.out.println("File does not exist");
}
}
}
Output
File does not exist
UNCHECKED Exception
Unchecked exceptions occur at run time and are not checked by compiler. Programmer is not compelled to write exception handler for them rather it is optional. Below table shows some common exception conditions and their corresponding unchecked exception classes.
अनियंत्रित अपवाद रन टाइम पर होते हैं और कंपाइलर द्वारा चेक नहीं किए जाते हैं। प्रोग्रामर उनके लिए अपवाद हैंडलर लिखने के लिए बाध्य नहीं है बल्कि यह वैकल्पिक है। नीचे दी गई तालिका कुछ सामान्य अपवाद स्थितियों और उनके संबंधित Unchecked Exception क्लास को दिखाती है।
S.No. |
Conditions |
Unchecked Exception |
1 |
Divide by zero |
ArithmeticException |
2 |
Array index out of bounds |
Array Index Out Of Bounds Exception |
3 |
Not in a number format |
NumberFormatException |
4 |
Improper type array storage |
ArrayStoreException |
5 |
Invalid cast |
ClassCastException |
6 |
Illegal argument type |
IllegalArgumentException |
7 |
Negative array size |
NegativeArraySizeException |
8 |
Invalid use of null pointer |
NullPointerException |
// Java Program to Handle Divide By Zero Exception
import java.io.*;
class GFG {
public static void main(String[] args)
{
int a = 5;
int b = 0;
try {
System.out.println(a / b); // throw Exception
}
catch (ArithmeticException e) {
// Exception handler
System.out.println(
"Divided by zero operation cannot possible");
}
}
}
Output:
No comments:
Post a Comment