RHN_EXCEPTION
DDL scriptPackage source
Legend: string keyword reserved word operator
1: PACKAGE rhn_exception
2: IS
3: CURSOR exception_details(exception_label_in VARCHAR2) IS
4: SELECT id, label, message
5: FROM rhnException
6: WHERE label = exception_label_in;
7:
8: PROCEDURE raise_exception(exception_label_in IN VARCHAR2);
9: procedure raise_exception_val(
10: exception_label_in in varchar2,
11: val_in in number
12: );
13: PROCEDURE lookup_exception(exception_label_in IN VARCHAR2, exception_id_out OUT NUMBER, exception_message_out OUT VARCHAR2);
14: END rhn_exception;
Package body source
Legend: string keyword reserved word operator
1: PACKAGE BODY rhn_exception
2: IS
3:
4: PROCEDURE lookup_exception(exception_label_in IN VARCHAR2, exception_id_out OUT NUMBER, exception_message_out OUT VARCHAR2)
5: IS
6: return_string VARCHAR2(2000);
7: BEGIN
8: FOR exc IN exception_details(exception_label_in)
9: LOOP
10: exception_id_out := exc.id;
11: exception_message_out := '(' || exc.label || ')' || ' - ' || exc.message;
12: END LOOP exception_details;
13:
14: IF exception_message_out IS NULL
15: THEN
16: RAISE NO_DATA_FOUND;
17: END IF;
18:
19: END lookup_exception;
20:
21: PROCEDURE raise_exception(exception_label_in IN VARCHAR2)
22: IS
23: exception_id NUMBER;
24: exception_message VARCHAR2(2000);
25: BEGIN
26: lookup_exception(exception_label_in, exception_id, exception_message);
27: RAISE_APPLICATION_ERROR(exception_id, exception_message);
28: EXCEPTION
29: WHEN NO_DATA_FOUND
30: THEN
31: RAISE_APPLICATION_ERROR(-20001, 'Unable to lookup exception with label (' || exception_label_in || ')');
32: END raise_exception;
33:
34: procedure raise_exception_val(
35: exception_label_in in varchar2,
36: val_in in number
37: ) is
38: exception_id NUMBER;
39: exception_message VARCHAR2(2000);
40: begin
41: lookup_exception(exception_label_in, exception_id, exception_message);
42: RAISE_APPLICATION_ERROR(exception_id, exception_message || ' (' || val_in || ')');
43: exception
44: when no_data_found then
45: RAISE_APPLICATION_ERROR(-20001, 'Unable to lookup exception with label (' || exception_label_in || ')');
46: end raise_exception_val;
47:
48: END rhn_exception;