बहुत शोध, सिर पीटने और दांत पीसने के बाद मुझे यह पैटर्न मिला है:
CREATE OR REPLACE PACKAGE BODY my_schema.package_name
IS
PROCEDURE foo
IS
BEGIN
-- Call stored procedures/functions that throw unhandled exceptions
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('ERROR! - '
|| DBMS_UTILITY.FORMAT_ERROR_STACK
|| DBMS_UTILITY.FORMAT_ERROR_BACKTRACE);
END foo;
END;
DBMS_UTILITY.FORMAT_ERROR_STACK
ऐसा लगता है कि फ़ंक्शन त्रुटि कोड और संदेश देता है, और DBMS_UTILITY.FORMAT_ERROR_BACKTRACE
कम से कम Oracle 10g में लाइन नंबरों और संग्रहीत कार्यविधि नामों के साथ, अच्छाई के लिए एक ईमानदार स्टैक ट्रेस देना प्रतीत होता है।
मुझे यकीन नहीं है कि वे कार्य Oracle 9i में उपलब्ध हैं। मुझे Oracle 10g के लिए भी इस तरह की चीज़ों के बारे में अधिक जानकारी नहीं मिली, इसलिए मैंने सोचा कि मैं कम से कम इस उत्तर को पोस्ट करूँगा क्योंकि 9i काफी पुराना है (और इसलिए उस मामले के लिए यह 10g है)।