Throw Exception in Java

Throw Exception in Java: अभी तक हमने जितने भी उदाहरण देखे हैं, उनमें JRE कोई Exception Throw करता है और Program का catch Block उस Exception को Catch करके Handle करता है। इसके अलावा हम किसी जरूरत को पूरा करने के लिए अलग से भी किसी Exception को throw Statement का प्रयोग करके Throw कर सकते हैं। throw Statement, General Form निम्नानुसार होता है:

        throw ThrowableObject;

इस Statement में ThrowableObject Throwable Class या उसके किसी Sub Class का Object होता है। Basic Data Types जैसे कि int, char, float आदि और इसी तरह से कोई भी Non-Throwable Class जैसे कि String व Object, इन्हें हम Exceptions की तरह Use करके Throw नहीं कर सकते हैं। किसी Throwable Object को प्राप्त करने के दो तरीके हो सकते हैं।

पहले तरीके में किसी Parameter के रूप में Throwable Object को Use किया जाता है, जैसाकि पिछले उदाहरणों में हमने किया है और दूसरे तरीके में new Operator का प्रयोग करके Throwable Class का एक Object Create किया जाता है।

कई बार हम कुछ विशेष स्थितियों में हम स्वयं कोई Exception Throw करना चाहते हैं, ताकि Program User यदि कोई गलती करता है, तो उस गलती को सुधार सके। उदाहरण के लिए मानलो कि User किसी Password Form पर Login करते समय गलत Login ID Enter कर देता है और हम चाहते हैं कि यदि User गलत Login ID Enter करे, तो एक Error Message आना चाहिए। इस स्थिति में हम स्वयं का Exception Object Throw कर सकते हैं।

जब हम किसी विशेष परिस्थिति में अपना स्वयं का Exception Object Throw करते हैं, तो throw Statement के तुरन्त बाद Program का Normal Execution रूक जाता है। जहां से किसी Exception को Throw कर दिया जाता है, उस Statement से आगे के किसी भी Statement का Execution नहीं होता है।

फिर सबसे पास के try Block को Check किया जाता है, कि Throw होने वाले Exception को Handle करने के लिए इस try Block का कोई catch Block Match करता है या नहीं। यदि उस try Block के किसी catch Block में Matching Class का Exception Holder मिल जाता है, तो Program Control उस Statement पर Transfer हो जाता है। लेकिन यदि कोई Matching catch Block प्राप्त नहीं होता है, तो अगला try Block Check किया जाता है।

यदि पूरे Program में कोई भी Matching Exception Handler नहीं मिलता है, तो Program Crash हो जाता है और JRE का Default Exception Handler Generated Exception को Handle करके Program को Terminate कर देता है। इस पूरी प्रक्रिया को हम निम्नानुसार एक Program द्वारा समझ सकते हैं:

	import java.io.* ;
	import java.lang.Exception ;
	
	public class gradeTest 
	{
	    public static void main( String[] args ) 
	    {
	      try
	      {
			int firstValue = 100, secondValue = 200;
	
				if(firstValue < secondValue)
				{
					throw new Exception("First Value is Less then Second Value");
				}
			}
	      catch( Exception excp )
	      {
	          System.out.println( "Exception: " + excp.getMessage() ) ;
	      }
	   }
	}

इस Program में हमने try Block में दो Integer प्रकार के Variables Declare किए हैं, साथ ही उन्हें Initialize भी कर दिया है। फिर एक if Statement Block में firstValue Variable के मान को secondValue Variable के मान से Check करवाया है। चूंकि firstValue में मान 100 है, जबकि secondValue में मान 200 है, इसलिए if Condition True हो जाती है और if Statement Block का Execution हो जाता है।

इस if Statement Block में Exception Class का एक नया Object Create किया गया है और उसके Constructor में एक Message को Store किया गया है। साथ ही इस Exception Type के Object को Throw किया गया है। इस Exception को catch Block में Catch कर लिया जाता है। catch Block इस Exception को excp Object में प्राप्त करता है।

getMessage() Method Exception Object excp में Hold होने वाले उस Message को Return करता है, जो Message हमने try Block के Constructor में Exception Object को Provide किया है। इसलिए जब इस Program को Execute करते हैं तब हमें Output में निम्नानुसार एक Message Display हो जाता है:

        Exception: First Value is More then Second Value

इस Program में तो हमने Super Class Exception का ही Object Throw किया है। लेकिन यदि हमें पता हो कि किसी विशेष स्थिति में किस प्रकार का Exception Generate हो सकता है, तो हम Particular उस Sub Class के भी Object Create करके Throw कर सकते हैं और catch Block में उस Exception को Catch कर सकते हैं।

Java Programming Language in Hindiये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook Java in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी। 

Java Programming Language in Hindi | Page: 682 | Format: PDF

BUY NOW GET DEMO REVIEWS