मैं निम्नलिखित प्रक्रिया है जो कुछ अनुप्रयोगों द्वारा प्रयोग किया जाता है:अपवाद हैंडलिंग ब्लॉक में pl/sql अपवाद को फिर से कैसे बढ़ाया जाए?
procedure p1
is
begin
bla bla bla;
end;
लेकिन वहाँ कोई अपवाद हैंडलिंग ब्लॉक है। तो इस सुविधा के अनुसार आवेदन लिखे गए थे।
अब मुझे पी 1 में त्रुटियों को लॉग करने की आवश्यकता है। लेकिन यह इस प्रक्रिया का उपयोग करने वाले अनुप्रयोगों को प्रभावित नहीं करना चाहिए।
कुछ इस तरह:
procedure p1
is
begin
bla bla bla;
exception when others then
log_error(sqlcode, sqlerrm);
raise_new_exception (sqlcode, sqlerrm);
end;
raise_application_error पहले पैरामीटर के मामले में [, -20,000 -20,999] सीमा में होना चाहिए। तो अगर अपवाद no_data_found उठाता है, तो यह इस त्रुटि को बढ़ा नहीं सकता है।
अपवाद_इनिट के मामले में, दूसरा पैरामीटर चर नहीं होना चाहिए। यह संख्यात्मक शाब्दिक होना चाहिए।
पुनश्च: के रूप में अस्थायी समाधान है, मैं उपयोग कर रहा हूँ पर अमल तत्काल
@AlexPoole लिंक मृत। – ceving
@ceving - धन्यवाद, मैंने वर्तमान लाइव लिंक को उत्तर में अपडेट करना आसान है, इसके बजाय भविष्य में अपडेट करना आसान है। –
वर्तमान [लिंक] (http://docs.oracle.com/cd/B10501_01/appdev.920/a96624/07_errs.htm#1049) –