Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Ereignisbehandlung durch ILCS

&pagelevel(4)&pagelevel

ILCS unterscheidet zwischen einer impliziten sprachspezifischen Ereignisbehandlung und einer explizit an- und abmeldbaren Ereignisbehandlung. Für die implizite Ereignisbehandlung steht die ILCS-Schnittstelle „Standard-Event-Handler“ (SEH) zur Verfügung, für die explizite Ereignisbehandlung der „Standard-STXIT-Handler“ (SSH).

Standard-Event-Handler SEH

Über die SEH-Schnittstelle ist eine Ereignisbehandlung nur für die STXIT-Ereignisse ERROR und PROCHK möglich. Diese Schnittstelle wird intern von Laufzeitsystemen genutzt, um die in der jeweiligen Programmiersprache vorgesehenen Sprachmittel für Ausnahmebehandlung zu realisieren (z.B. Pascal, Pl/1, Ada), oder um bei Auftritt eines ERROR- oder PROCHK-Ereignisses vor dem Programmabbruch noch bestimmte Maßnahmen, z.B. die Ausgabe von Fehlermeldungen, zu treffen (z.B. COBOL85).

Standard-STXIT-Handler SSH

Über die SSH-Schnittstelle können benutzereigene Routinen für sämtliche BS2000-STXIT-Ereignisse explizit an- und abgemeldet werden. Diese Schnittstelle wird derzeit vom C/C++- und vom ASSEMBH-Laufzeitsystem genutzt: C/C++-Programme können benutzereigene Routinen zur Ereignisbehandlung mit den C-Bibliotheksfunktionen signal und cstxit anmelden, Assemblerprogramme mit den ASSEMBH-Strukturmakros @STXEN und @STXDI.

Die explizite Anmeldung von benutzereigenen Routinen für die STXIT-Ereignisklassen ER-ROR und PROCHK (SSH) setzt die implizite Behandlung dieser Ereignisse durch andere Sprachen (SEH) außer Kraft. Um die implizite Ereignisbehandlung anderer Sprachen (COBOL85, Pascal-XT usw.) wieder wirksam werden zu lassen, müssen bei Verlassen der C- bzw. der ASSEMBH-Sprachumgebung die Ereignisbehandlungsroutinen für ERROR und PROCHK explizit abgemeldet werden. In C/C++ erfolgt die Abmeldung durch Zuordnung von SIG_DFL bei der C-Bibliotheksfunktion signal, in Assembler mit dem ASSEMBH-Strukturmakro @STXDI.

Direkt beim BS2000 angemeldete STXIT-Routinen

STXIT-Routinen können durch Verwendung des BS2000-Makros STXIT in Assemblerprogrammen auch direkt beim BS2000 angemeldet werden. Diese Routinen entziehen sich jedoch der Koordinierung durch ILCS; u.a. bleibt bei der direkten Anmeldung von STXIT-Routinen für PROCHK- und ERROR-Ereignisse die implizite Behandlung dieser Ereignisse über die SEH-Schnittstelle aktiv.