Exception Handling in PL/SQL in Hindi – एक्सेप्शन हैंडलिंग क्या है?

हेल्लो दोस्तों! आज हम इस पोस्ट में Exception Handling in PL/SQL in Hindi (एक्सेप्शन हैंडलिंग क्या है?) के बारें में पढेंगे और इसके प्रकार तथा program को भी देखेंगे. इसे आप पूरा पढ़िए, आपको यह आसानी से समझ में आ जायेगा. तो चलिए शुरू करते हैं:

Exception Handling in PL/SQL in Hindi

PL/SQL में, Exception एक error होता है जो program के सामान्य flow को रोक देता है. यह program के execution के दौरान घटित होने वाला एक error होता है.

दूसरे शब्दों में कहें तो, “exception एक error होता है जो कि run-time में घटित होता है जिसके कारण program का execution नहीं हो पाता.”

इन errors को हम compile-time में पकड नहीं पाते और इसलिए हमें इन्हें run-time में handle करने की जरूरत होती है.

PL/SQL में exception block के द्वारा हम program में error को find और resolve कर सकते हैं.

Exception दो प्रकार के होते हैं:-

  • User-Defined Exception
  • System-Defined Exception

Exception Handling का syntax – इसका syntax नीचे दिया गया है. आप जितने चाहो उतने exceptions को handle कर सकते हो. Default exception को WHEN और THEN के द्वारा handle किया जाता है.

DECLARE 
<declarations section> 
BEGIN 
<executable command(s)> 
EXCEPTION 
<exception handling goes here > 
WHEN exception1 THEN  
exception1-handling-statements  
WHEN exception2  THEN  
exception2-handling-statements  
WHEN exception3 THEN  
exception3-handling-statements 
........ 
WHEN others THEN 
exception3-handling-statements 
END;

यहाँ ध्यान देने वाली बात यह है कि WHEN others THEN का प्रयोग केवल exception handling block के अंत में किया जाता है. इसके बाद किसी भी exception को handle नहीं किया जाएगा.

System Defined Exceptions in Hindi

ये एक्सेप्शन PL/SQL में पहले से ही define होते हैं और इन्हें तब execute किया जाता है जब database के किसी विशेष rule को violate (उल्लंघन) किया जाता है. इन्हें pre-defined exceptions भी कहा जाता है.

system defined exceptions के भी दो प्रकार होते हैं:-

  1. Named system exceptions.
  2. Unnamed system exceptions

Named system exceptions – सिस्टम के द्वारा इनका नाम पहले से ही define होता है जैसे कि – ACCESS_INTO_NULL, DUP_VAL_ON_INDEX, LOGIN_DENIED आदि.

Unnamed system exceptions – वे exceptions जिन्हें system के द्वारा कोई भी नाम नहीं दिया जाता उन्हें unnamed system exceptions कहते हैं. ये exceptions सामान्यतया घटित नहीं होते हैं. इनके दो parts होते हैं पहला code और दूसरा message. इस प्रकार के एक्सेप्शन को handle करने के लिए इनको Pragma EXCEPTION_INIT का प्रयोग करके नाम assign किया जाता है.

इसका syntax

PRAGMA EXCEPTION_INIT(exception_name, -error_number);

User-defined Exceptions in Hindi

इस प्रकार के exceptions को user के द्वारा खुद create किया जाता है. यूजर अपनी आवश्यकता के अनुसार exceptions को create कर सकते हैं और उन्हें handle कर सकते हैं. User-define exception को सबसे पहले declare करना आवश्यक होता है और उसके बाद उन्हें raise किया जाता है. इन्हें RAISE स्टेटमेंट और DBMS_STANDARD.RAISE_APPLICATION_ERROR की प्रक्रिया के द्वारा raise किया जाता है.

इसको declare करने का syntax निम्नलिखित हैं:-

DECLARE 
my-exception EXCEPTION; 
  • SQL क्या है?
  • SQL Data Type in Hindi

Raising Exceptios – एक्सेप्शन को raise करना

जब भी कभी आंतरिक database error होता है तो database server के द्वारा exceptions को automatically (अपने-आप) raise कर दिया जाता है परन्तु exceptions को RAISE command के द्वारा भी raise किया जा सकता है.

एक exception को raise करने का syntax निम्नलिखित हैं:-

DECLARE 
exception_name EXCEPTION; 
BEGIN 
IF condition THEN 
RAISE exception_name; 
END IF; 
EXCEPTION 
WHEN exception_name THEN 
statement; 
END; 

Exception Handling का example

नीचे हमने STUDENT table को create किया है.

SELECT* FROM STUDENT;

ID NAME AGE ADDRESS ROLL No
1 Yugal 26 Delhi 111111
2 Kamal 27 Dehradun 222222
3 Pankaj 22 Nainital 333333
4 Vishal 23 Kanpur 444444
5 Deepak 24 Mumbai 555555
6 Vinay 25 Haridwar 666666

इस Table का program 

DECLARE  
s_id student.id%type := 9;  
s_name  student.name%type;  
s_addr student.address%type;  
BEGIN  
SELECT  name, address INTO  s_name, s_addr  
FROM student  
WHERE id = s_id;  
DBMS_OUTPUT.PUT_LINE ('Name: '||  s_name);  
DBMS_OUTPUT.PUT_LINE ('Address: ' || s_addr);  
EXCEPTION  
WHEN no_data_found THEN  
dbms_output.put_line('No such student!');  
WHEN others THEN  
dbms_output.put_line('Error!');  
END;  
/  

इसका आउटपुट –

No such student
PL/SQL procedure successfully completed.

ऊपर दिए गये program में student का नाम और address आउटपुट में आना चाहिए. परन्तु हमने यहाँ id 9 लिखा है और table में id 9 नहीं है इसलिए प्रोग्राम run-time exception – NO_DATA_FOUND raise करेगा.

निवेदन:- मुझे आशा है कि यह article आपको पसंद आया होगा. इसे अपने friends और classmates के साथ अवश्य share कीजिये. और आपके PL/SQL से सम्बन्धित कोई सवाल हो तो उसे नीचे comment करके बताइए.

Leave a Comment