Die Anweisung 'try' ermöglicht es Ihnen, die Ergebnisse beliebiger Ausnahmebedingungen festzulegen, die Ihr Code eventuell feststellt, von geringfügigen Problemen wie beispielsweise 'Dateiende' oder 'Datensatz nicht gefunden', bis hin zu schwerwiegenderen Problemen wie beispielsweise permanenten E/A-Fehlern. Wenn eine Ausnahmebedingung eintritt, wird die Verarbeitung bei der ersten Anweisung in einem onException-Block wiederaufgenommen, der dem Ausnahmebedingungstyp entspricht. Sie können den onException-Block auch übergehen, wenngleich es hierfür keinen stichhaltigen Grund gibt. Sollten Sie sich dennoch dafür entscheiden, wird die Ausführung bei der ersten Anweisung nach dem Ende des try-Blocks wiederaufgenommen.
Ausnahmebedingungen werden vom Fehlerpunkt ausgehend nach oben weitergegeben. Eine try-Anweisung kann Ausnahmebedingungen bearbeiten, die in beliebigen Funktionen auftreten, die über den try-Block aufgerufen werden, unabhängig davon, wie tief diese Funktionen verschachtelt sind. Nachdem eine Ausnahmebedingung ausgelöst wird, erhält der nächstliegende einschließende try-Block die Steuerung. Wird in einem onException-Block keine übereinstimmende Ausnahmebedingung gefunden, erhält der nächsthöhere einschließende try-Block die Steuerung. Werden keine weiteren try-Blöcke gefunden, erhält die nächste ausführbare Anweisung die Steuerung.
Weitere Informationen zum Prozess der Ausnahmebedingungsbehandlung finden Sie unter Ausnahmebedingungsbehandlung.

| Plattform | Problem |
|---|---|
| DL/I-Datenbankzugriff | Wenn entweder 'dliVar.handleHardDLIErrors' oder 'vgVar.handlHardIOErrors' auf 1 gesetzt ist, wird die Ausführung des Programms fortgesetzt, wenn ein permanenter E/A-Fehler in einem try-Block für ein DL/I-Segment auftritt. Wenn beide Systemvariablen auf 0 gesetzt sind oder kein try-Block vorhanden ist, wird das Programm im Falle eines permanenten E/A-Fehlers für ein DL/I-Segment beendet. 'dliVar.handleHardDLIErrors' hat keine Auswirkung auf serielle Datensätze, die IMS-Nachrichtenwarteschlangen oder GSAM-Dateien zugeordnet sind. |
| V60-Ausnahmebedingungskompatibilität |
|
| VisualAge Generator-Kompatibilitätsmodus | Wenn 'vgVar.handlHardIOErrors' auf 1 gesetzt ist, wird die Ausführung des Programms fortgesetzt, wenn ein permanenter E/A-Fehler in einem try-Block für Datenbank- oder Datei-Ein-/Ausgabe auftritt. Ist 'vgVar.handlHardIOErrors' auf 0 gesetzt oder kein try-Block vorhanden, wird das Programm beim Auftreten eines permanenten E/A-Fehlers für Datenbank- oder Datei-Ein-/Ausgabe beendet. Der Standardwert für 'vgVar.handleHardIOErrors' ist 1. Sie haben jedoch die Möglichkeit, die Programmeigenschaft 'handleHardIOErrors' auf NO zu setzen, um 0 als Standardeinstellung bereitzustellen. Dies war die Standardeinstellung in VisualAge Generator. |