Tôi có thủ tục sau đây được sử dụng bởi một số ứng dụng:Làm cách nào để nâng cao lại ngoại lệ pl/sql trong khối xử lý ngoại lệ?
procedure p1
is
begin
bla bla bla;
end;
Nhưng không có khối xử lý ngoại lệ. Vì vậy, các ứng dụng được viết theo tính năng này.
Bây giờ tôi cần ghi lại lỗi trong p1. Nhưng nó không ảnh hưởng đến các ứng dụng sử dụng thủ tục này.
Something như thế này:
procedure p1
is
begin
bla bla bla;
exception when others then
log_error(sqlcode, sqlerrm);
raise_new_exception (sqlcode, sqlerrm);
end;
Trong trường hợp raise_application_error tham số đầu tiên phải ở trong phạm vi [-20.000, -20.999]. Vì vậy, nếu có ngoại lệ no_data_found, nó không thể làm tăng lỗi này.
Trong trường hợp exception_init, tham số thứ hai không được thay đổi. Nó phải là chữ số.
PS: giải pháp Như tạm thời, tôi đang sử dụng thực hiện ngay lập tức
@AlexPoole Liên kết đã chết. – ceving
@ceving - cảm ơn, tôi đã đặt liên kết trực tiếp hiện tại vào câu trả lời để thay thế dễ dàng hơn trong tương lai. –
Hiện tại [link] (http://docs.oracle.com/cd/B10501_01/appdev.920/a96624/07_errs.htm#1049) –