| |
2-12 PL-/icSprache, die Spezifikation, v1.0 Abbildet September 2002 2 3 d örtlich festgelegtes bin(31), 3 u Anschluß, exception_bad 5, Value1 7 örtlich festgelegtes bin(31), Grund 7 char(32), exception_worse 5, Value2 7 örtlich festgelegtes bin(15), errorcode 7 char(16), Grund 7 char(32); Die Werte gezeigt für exC_example_bad und EXC_EXAMPLE_WORSE sind Beispiele nur und sollen nicht das tatsächliche Format der einzigartigen Ausnahme anzeigen Bezeichner. Der Bediener signalisiert einer Störung zum Klienten, indem er das PODERR verwendet Funktion. wenn Name = '' dann ; exception_bad.reason = ' kein Name '; exception_bad.value1 = 99999; Anrufpoderr(exc_example_bad); Ende; , um auf Störungen zu prüfen, wird die Klientenseite wie folgt aufgestellt. CHECK_ERRORS: PROC(FUNCTION_NAME) RETURNS(FIXED BIN(31)); dclexc_name char(64); dclexception_info char(64); wenn exception_number = pod_user_exception dann ; display('example_user_exception '); strget(exception_id, 64, exc_name); select(exc_name); when('exc_example_bad ') ; display('value1 = '||example_bad.value1); display('reason = '||example_bad.reason); Ende; when('exc_example_worse ') ; display('value2 = '||example_worse.value2); display('errorcode = '||exmaple_worse.errorcode); display('reason = '||example_worse.reason); Ende; Ende; return_code=completion_status_no; Ende; sonst wenn exception_number ^ = 0 dann ; strget(exception_text, 64, exception_info); display('system_exception '); display('exception_number = '||exception_number); display('exception = '||exception_info); |  |
|
| |
|
|