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 eine Datenbank-E/A oder Datei-E/A auftritt. Wenn vgVar.handlHardIOErrors auf '0' festgelegt ist und kein try-Block vorhanden ist, wird das Programm im Falle eines permanenten E/A-Fehlers für eine Datenbank-E/A oder Datei-E/A beendet. Der Standardwert für vgVar.handleHardIOErrors ist '1', Sie können jedoch die Programmeigenschaft handleHardIOErrors auf 'NO' setzen, um den Standardwert '0' festzulegen, der auch der Standardwert in VisualAge Generator war. |