try catch finally

try catch finally: सामान्‍यतया जब भी किसी try Block में कोई Exception Generate होता है, Program Control try Block को छोडकर सीधे ही catch Block में उस Exception को Handle करने के लिए चला जाता है। लेकिन कई बार ऐसी स्थिति होती है, कि try Block में कोई Exception Generate होने के बावजूद भी हमें try Block के कुछ Statements का Execution करना जरूरी होता है।

उदाहरण के लिए मानलो कि हमने try Block में किसी File को Open किया और File को Save करते समय कोई Exception Generate हो गया। इस स्थिति में हम try Block से Open की गई File को Close किए बिना ही catch Block में आ जाते हैं। लेकिन Open की गई File को Close किए बिना हम Program को Terminate नहीं कर सकते हैं, क्योंकि ऐसा करने पर Program में दूसरी प्रकार की समस्‍याएं पैदा हो सकती हैं।

इसलिए ये जरूरी है कि Exception Generate होने की स्थिति में भी try Block के कुछ ऐसे Statements का Execution होना चाहिए, जो catch Block में Control के Transfer होने के बाद भी File को Close कर सकें, ताकि System में अन्‍य प्रकार की Problem ना हो। इस प्रकार के काम के लिए हम File को Close करने का Statement try Block व catch Block दोनों में लिखकर करते हैं।

यदि Exception Generate नहीं होता है, तो try Block का File Close करने का Statement Execute हो कर File को Close कर देता है और यदि Exception Generate हो जाता है, तो catch Block में लिखा गया File Close करने का Statement Execute हो जाता है, जो File को Close कर देता है। यानी हम समझ सकते हैं कि File Close करने का काम एक ऐसा काम है, जो होना ही चाहिए।

जावा में कोई Program बनाते समय भी हम ऐसे कामों को तय कर सकते हैं, जो किसी भी स्थिति में होने ही चाहि, होते हैं। चूंकि try व catch दोनों Block में जरूरी रूप से Execute होने वाले Code Statements को दो बार लिखने से बचने के लिए जावा में finally Code Block की सुविधा प्रदान की गई है। ये एक ऐसा Code Block होता है, जिसमें लिखे गए Statements का Execution होता ही है, फिर चाहे try Block में कोई Exception Generate हो चाहे ना हो।

जावा में Program Develop करते समय ऐसे जितने भी Statement होते हैं, जिन्हें Execute करना ही होता है, उन्हें finally Block में लिख दिया जाता है। किसी भी try/catch Block जोडे में finally Block हमेंशा सबसे अन्तिम Block होता है। यानी यदि हम Multiple catch Block वाला Program Develop कर रहे हैं, तो उस Program में भी केवल एक ही try व एक ही finally Block होता है, लेकिन उसमें catch Block एक से ज्यादा हो सकते हैं।

try Block हमेंशा सबसे पहला Block होता है जबकि finally Block को सभी catch Blocks को Define करने के बाद में Define किया जाता है। इस Block को हम निम्नानुसार Use करना सीख सकते हैं:

// Program
import java.io.* ;
import java.lang.Exception ;
	
public class gradeTest 
{
	public static void main( String[] args ) 
	{
		try
		{
			// Comment Next Statement Line for First Output
			int firstValue = 100, secondValue = 200; 		// Line Number 01
	
			// Un-Comment Next Statement Line for Second Output
			// int firstValue = 300, secondValue = 200;		// Line Number 02
	
			if(firstValue < secondValue)
			{
				throw new Exception("First Value is More then Second Value");
			}
	
			if(firstValue > secondValue)
			{
				throw new ArithmeticalException("Second Value is Greater.");
			}
		}
		catch( ArithmeticalException excp)
	        {
	     		System.out.println( "Exception: " + excp.getMessage() ) ;
	        }
	 
	       catch( Exception excp )
	       {
	     		System.out.println( "Exception: " + excp.getMessage() ) ;
	       }
	
	       finally
	       {
			System.out.println("This Statement must be executed on any exception.");
	       }
	}
}

// First Output 
   Exception: First Value is Greater then Second Value
   This Statement must be executed on any exception.

// Second Output 
   Exception: Second Value is Greatest.
   This Statement must be executed on any exception.

इस Program के दो Output बताए गए हैं। First Output प्राप्त करने के लिए Program को ज्यों का त्यों Compile करके Run करना होता है। जबकि Second Output को प्राप्त करने के लिए Program के try Block के “Line Number 01” को Comment बनाना होता है और “Line Number 02” को Normal Statement बनाना होता है।

हम देख सकते हैं, कि दोनों ही Output में दूसरी Line Common रूप से Display हो रही है और इस Line को हमने finally Block में लिखा है। हम देख सकते हैं कि दोनों ही स्थितियों में दो अलग प्रकार के Exception को Handle करने के लिए दो catch Block हैं, लेकिन दोनों catch Block में Exceptions को Handle करने के बाद भी finally Block के Statement का Execution हो रहा है।

यदि try Block में किसी भी प्रकार का Exception Generate ना हो, तब भी finally Block का Statement Output में Display होता ही है। यानी finally Block को हम Sequential Statement Block भी कह सकते हैं, क्योंकि Sequential Statement Block ऐसे Statements का Block होता है, जो हमेंशा ही Execute होते हैं।

Throws Exception in Java
Types of Exceptions in Java

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

MidRangeHub Finance Auto Loans Bank Business Health Insurance Insurance Investment Law Lif Insurance Loan Stocks how to endorse a check chase sapphire travel insurance chase sapphire travel delay when are property taxes due Tower Loans how to sell stocks on cash app Voided Check Examples Personal Finance Books Collateral Loans how to sell stocks on cashapp how do you sell your stocks on cash app how to sell stock on cash app joint account sofi joint account ally joint account capital one joint account best bank for joint account chase joint account cyber insurance coverage silverfort free cyber insurance coverage silverfort monjouro savings card Money6x Real Estate