जब हम कोई प्रोग्राम लिखते हैं, तो कई बार कोड बिल्कुल सही होने के बावजूद run-time पर error आने के कारण प्रोग्राम रुक जाता है। इन errors को हैंडल करना ही Exception Handling कहलाता है।
PL/SQL में exception handling एक ऐसी प्रक्रिया है जो run-time errors को detect करके उन्हें handle करती है, ताकि प्रोग्राम बिना रुके सही तरीके से execute हो सके।
Exception क्या होता है?
PL/SQL में exception एक ऐसा error है जो program के execution के दौरान होता है और प्रोग्राम के normal flow को रोक देता है।
Exception प्रोग्राम चलने के समय होता है, न कि compile करते समय।
इसलिए इसे run-time error भी कहा जाता है।
PL/SQL में Exception Handling क्यों ज़रूरी है?
| कारण | विवरण |
|---|---|
| प्रोग्राम क्रैश होने से बचाता है | Error आने पर program forcefully बंद होने से रोकता है |
| कस्टम मैसेज देता है | User को meaningful error message दिखाता है |
| Data Loss रोकता है | Transactions को सुरक्षित करता है |
| Debugging आसान होती है | Error की जानकारी मिलती है |
PL/SQL Exception Handling का Structure
PL/SQL में exception को handle करने के लिए program में नीचे दिए गए sections उपयोग होते हैं:
DECLARE
-- variable or exception declaration
BEGIN
-- executable statements
EXCEPTION
-- exception handling code
END;
/Types of Exceptions in PL/SQL (PL/SQL में Exception के प्रकार)
PL/SQL में exceptions मुख्य रूप से दो प्रकार के होते हैं:
1. System Defined Exception (Predefined)
ये Oracle द्वारा पहले से बनाए गए होते हैं।
उदाहरण: NO_DATA_FOUND, ZERO_DIVIDE, TOO_MANY_ROWS
2. User Defined Exception
इनका निर्माण programmer खुद करता है, जब अपनी जरूरत के अनुसार custom error चाहिए हो।
System Defined Exception Handling Example
DECLARE
v_name student.name%TYPE;
BEGIN
SELECT name INTO v_name FROM student WHERE id = 100;
DBMS_OUTPUT.PUT_LINE(v_name);
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('Record Not Found!');
END;
/User Defined Exception कैसे बनाते हैं?
- Step 1: Exception Declare करना
- Step 2: Exception Raise करना (RAISE Command)
- Step 3: Exception Handle करना
Example of User-Defined Exception
DECLARE
age_limit EXCEPTION;
v_age NUMBER := 15;
BEGIN
IF v_age < 18 THEN
RAISE age_limit;
END IF;
DBMS_OUTPUT.PUT_LINE('Eligible');
EXCEPTION
WHEN age_limit THEN
DBMS_OUTPUT.PUT_LINE('Not Eligible - Age Must Be 18+');
END;
/Exception को RAISE_APPLICATION_ERROR से Raise करना
Oracle में custom error number और message देने के लिए:
PL/SQL Exception Handling के मुख्य Keywords
| Keyword | उपयोग |
|---|---|
RAISE | Exception को manually raise करना |
WHEN | Error condition define करना |
OTHERS | सभी unknown errors को handle करना |
PRAGMA EXCEPTION_INIT | Unnamed exception को नाम देना |
RAISE_APPLICATION_ERROR | Custom error code और message देना |
WHEN OTHERS का उपयोग कब?
यह वो सभी errors handle करता है, जिन्हें किसी specific नाम से catch न किया गया हो।
इन्हें भी पढ़े –
- DBMS क्या है DBMS के प्रकार और कार्य की पूरी जानकारी | DBMS In Hindi
- डेटाबेस यूजर्स क्या है?
- डेटा इंडिपेंडेंस क्या है
- DBMS के लाभ
- Characteristics Of DBMS In Hindi
- डेटा मॉडल क्या है?
- डेटाबेस स्कीमा क्या है
- इंस्टैंस क्या है
- डेटाबेस इंटरफ़ेस क्या है
- डेटाबेस लैंग्वेज क्या है
- Classification of DBMS in Hindi
- Entity Set in DBMS
- DBMS Architecture in Hindi
- Types of Data Models in Hindi
- Attributes in DBMS in Hindi
- Entity Set in DBMS (Hindi)
- Entity Types in DBMS (Hindi)
- Types of Attributes in DBMS
- ER Model in DBMS (E-R मॉडल) क्या है?
- Entities के बीच संबंध
- Domain in DBMS
- Tuples in DBMS
- SQL में Joins क्या हैं?
- Primary Key in DBMS
- DBMS Keys in Hindi
- DBMS Data Integrity in Hindi
- Relational Algebra in DBMS
- Normalization in DBMS क्या है?
- BCNF (Boyce-Codd Normal Form) in DBMS
- Functional Dependency in DBMS
- Non-Loss Decomposition in DBMS
- SQL Data Types in Hindi
- Create Table in SQL in Hindi
- SQL DROP TABLE और ALTER TABLE in Hindi
- SQL Indexes in Hindi
- SDLC in Hindi
- DBLC in Hindi
- SQL Views in Hindi
- PL/SQL PROCEDURES in hindi
- Database Normalization in Hindi
- Domain Key Normal Form in Hindi
- SQL Objects in Hindi
- Aggregation, Generalization, Specialization and Association in Hindi
- Data Dictionary क्या है?
- डेटा वेयरहाउसिंग क्या है?
- डाटा माइनिंग क्या है?
- File Organization in Hindi DBMS
- Relational Model in Hindi – रिलेशनल मॉडल क्या है?
- RDBMS Applications in Hindi
- MySQL क्या है?
- Parallel Database in Hindi
- Database Costs and Risk Factors in Hindi
- डिस्ट्रिब्यूटेड डेटाबेस क्या होता है?
- Operational Data vs Decision Support Data in Hindi
- फाइल ओरिएंटेड सिस्टम के लाभ और हानियाँ
- DBMS में Mapping Constraints क्या होते हैं?
- DBMS vs File System in Hindi
- Validation Based Protocol in Hindi
- Multivalued Dependency in DBMS in Hindi & Join Dependency in Hindi
- Relationship Set in DBMS in Hindi
निष्कर्ष (Conclusion)
PL/SQL Exception Handling सुनिश्चित करता है कि:
- प्रोग्राम अचानक बंद न हो
- User को meaningful message मिले
- Data सुरक्षित रहे
- Debugging आसान हो जाए
इसलिए, किसी भी professional PL/SQL programming में exception handling का इस्तेमाल जरूरी होता है।