Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

pl/sql में नेस्टेड फ़ंक्शंस के साथ प्रक्रिया में अपवाद हैंडलिंग

RAISE_APPLICATION_ERROR प्रक्रिया एक तीसरा पैरामीटर है जो नियंत्रित करता है कि क्या अपवाद मौजूदा अपवाद स्टैक (डिफ़ॉल्ट व्यवहार) को प्रतिस्थापित करता है या इसमें जोड़ता है।

इसलिए यदि आप इसे TRUE पास करते हैं यह दोनों संदेश दिखाएगा; आपकी प्रक्रिया से कॉल में:

...
EXCEPTION
WHEN OTHERS THEN
RAISE_APPLICATION_ERROR (-20101, 'Problem in loading Affected Circle data',
  TRUE);
END;

आपको आउटपुट देता है:

BEGIN
*
ERROR at line 1:
ORA-20101: Problem in loading Affected Circle data
ORA-06512: at "SRUSER.ADD_AFFECTEDCIRCLE", line 13
ORA-20102: Circle Code is wrong or not available
ORA-06512: at line 2

केवल संदेश दिखाने के लिए, न कि अन्य स्टैक जानकारी के लिए आपको स्टैक में हेरफेर करने की आवश्यकता होगी। यह लेख format_error_backtrace उस जानकारी को निकालने के लिए जिसमें आप रुचि रखते हैं, लेकिन दुर्भाग्य से BT . का लिंक पैकेज मर चुके हैं। कुछ ऐसे ही मैदान यहां कवर किया गया है . अनिवार्य रूप से आपको अपवाद स्ट्रिंग को लाइनों में पार्स करने की आवश्यकता है, और केवल उन लोगों को प्रदर्शित करें जो ORA-20% से शुरू होते हैं , मुझे लगता है।

लेकिन ऐसी जानकारी खोने से सावधान रहें जो वास्तव में महत्वपूर्ण हो सकती है। विशेष रूप से मेरा सुझाव है कि आप केवल उन विशिष्ट त्रुटियों को ट्रैप करें जिन्हें आप ढूंढ रहे हैं, न कि OTHERS - इसे अकेला छोड़ दें ताकि आप अप्रत्याशित त्रुटियों से निपट सकें और कुछ महत्वपूर्ण छिपाएं नहीं।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle REGEXP_REPLACE अपरकेस प्रतिस्थापन स्ट्रिंग

  2. Oracle में BLOB ऑब्जेक्ट के साथ कार्य करें

  3. DBMS_SCHEDULER जॉब रन हर घंटे उदाहरण

  4. Oracle PL/SQL - तत्काल आउटपुट/कंसोल प्रिंटिंग के लिए टिप्स

  5. पिवट टेबल ओरेकल - पंक्ति वस्तुओं को कॉलम में कैसे बदलें