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
- इसे अकेला छोड़ दें ताकि आप अप्रत्याशित त्रुटियों से निपट सकें और कुछ महत्वपूर्ण छिपाएं नहीं।