Java Exception Handling

Introduction to Java Exception Handling

Exceptions run time errors होती है। Exception एक ऐसी situation होती है जो आपके रन होते हुए program को रोक देती है। जैसे की जितनी memory आपके program को execute होने के लिए चाहिए, उतनी memory आपके computer में यदि नहीं है तो आपके program का execution रुक जायेगा। ये out of memory exception है। ऐसी ही situations को आप exceptions कहते है।

जिस प्रकार यदि आप program बनाते समय किसी statement के आगे semicolon लगाना भूल जाये, तो आपको program error शो करता है और compile नहीं होता है। उसी प्रकार exception generate होने पर आपका program रुक जाता है execute नहीं होता है।

यदि आप चाहते है की आपका program exception आने पर रुके नहीं execute होता रहे तो इसके लिए आपको exceptions को handle करना होगा। इसे ही exception handling कहते है। जब आप exceptions को handle करते है तो आपका program exception आने पर रुकता नहीं है बल्कि exception वाले code को skip करके बाकि के code को execute करता है।

Keywords For Exception Handling

Java में आप कुछ keywords की मदद से exceptions को handle करते है। ये सभी keywords मिलकर एक structure बनाते है जो implement करने में बहुत ही आसान होता है। इन keywords के बारे में निचे दिया जा रहा है।

KeywordsExplanation
Tryआपके program का वह code जो exception generate कर सकता है, उसे आप try block में लिखते है। उदाहरण के लिए आप program में कोई mathematical operation कर रहे है और आपको लगता है की exception generate हो सकती है तो आप उस code को try block में लिखते है।      
catch यदि try block में कोई exception generate होती है, तो वह इसी block में handle की जाती है। आप इस block में वह code लिखते जो exception आने पर आप execute करना चाहते है। उदाहरण के लिए आप एक message print करवा सकते है जो यूजर को बताये की exception generate हुई है।      
throw ज्यादातर संभावित exceptions आपके लिए पहले से ही java library में define है और ये exception java automatically throw कर देती है। लेकिन यदि आप चाहते है तो खुद की exceptions भी create कर सकते है। ऐसी एक्सकेप्शन्स को आपको खुद ही throw करना होता है इसके लिए आप throw keyword यूज़ करते है। आप चाहे तो predefined exception भी throw कर सकते है।       
Throwsआप nested try blocks यूज़ कर सकते है। यदि आप चाहते है की किसी exception को outer try block handle करे तो ऐसी situation में आप throws keyword यूज़ करते है। आप method में definition के आगे throws keyword लगा कर सभी exceptions के नाम लिख देते है। ऐसा करने से यदि कोई exception आती है तो outer try block उसे handle करता है।  
FinallyException handle करने के बाद आप जो code execute करवाना चाहते है उसे finally block में लिखते है। Try block में exception आने के बाद compiler उस code को execute नहीं करता है और catch block के बाद सीधा finally block को execute करता है।

Steps to Handle Exceptions

  1. सबसे पहले आप उस code को try block में लिख दीजिये जिससे exception generate हो सकती है।
  2. Try block के बाद catch block में exception को handle करने के लिए code लिखिए। जैसे की आप exception से related कोई message print करवा सकते है।
  3. Exception handle करने के बाद आप जो code execute करवाना चाहते है उसे finally block में लिख दीजिये।

Some Common Exceptions

Exceptions को handle करने से पहले exceptions के बारे में जानना आपके लिए बहुत जरुरी है। कुछ exceptions ऐसी होती है जो java में regularly आती है। इन common exceptions पर आप आसानी से practice कर सकते है और अपनी skill को improve कर सकते है। Java में regularly आने वाली कुछ common exceptions के बारे में निचे दिया जा रहा है।

Arithmetic Exceptions

कोई भी arithmetic error जैसे की यदि आप किसी number को zero से divide करने की कोशिश करे या फिर किसी variable में उसकी size से ज्यादा value store करने के कोशिश करे तो Arithmetic-Exception generate होती है।

Class Cast Exception

यदि आप किसी class का reference दूसरी class में store करवाना चाहते है और यदि पहली class दूसरी class की sub class नहीं होती है तो Class-Cast-Exception generate होती है।

Array Store Exception

यदि आपने string array बनाया है और उसमे आप string store करने की कोशिश करते है तो Array-Store-Exception generate होती है।

Array Index Out Of Bounds Exception

यदि आपके array की size 10 है और आप 11th position पर value store करने की कोशिश करे या 11th position को access करने की कोशिश करे तो Array-Index-Out-Of-Bounds-Exception generate होती है।

Illegal Argument Exception

जब आप किसी method में invalid argument pass करते है जैसे की int की जगह string पास कर दे तो Illegal-Argument-Exception generate होती है।

Null Pointer Exception

Java में आप किसी reference variable को null value assign कर सकते है लेकिन यदि आप इस reference variable को यूज़ करने का प्रयास करते है तो NullPointerException generate होती है।

Number Format Exception

जब आप किसी string value को number में cast करने की कोशिश करते है तो Number-Format-Exception आती है।

Example:

Import java.lang.*;

class
{
  public static void main(String args[])
  {
      int num = 120;
      int a = 0;

       try
       {
          num = num / a;
           System.out.println(num);
     }

    catch(ArithmeticException e)
    {
           System.out.println(“You can not divide a number by zero”);
    }
 }
}