Ansicht
Dokumentation

ABENTRY_ABEXA - TRY ABEXA

ABENTRY_ABEXA - TRY ABEXA

BAL Application Log Documentation   CL_GUI_FRONTEND_SERVICES - Frontend Services  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Ausnahmen, TRY

Das Beispiel demonstriert die TRY-Kontrollstruktur.

Quelltext

Ausführen

Beschreibung

  • Falls der Inhalt von number betragsmäßig größer 100 ist, wird im TRY-Block der TRY-Kontrollstruktur der Kompilationseinheit eine Ausnahme der Klasse CX_DEMO_ABS_TOO_LARGE ausgelöst. Diese Ausnahme wird vom zweiten CATCH-Block der gleichen TRY-Kontrollstruktur behandelt, da sie Unterklasse der allgemeinsten Ausnahme CX_ROOT ist.
  • Ist der Inhalt von number gleich 0, löst das Laufzeit-Framework im TRY-Block der TRY-Kontrollstruktur der aufgerufenen Methode calculation eine Ausnahme der vordefinierten Klasse CX_SY_ZERODIVIDE aus. Diese wird im CATCH-Block der gleichen TRY-Kontrollstruktur behandelt.
  • Falls der Inhalt von number eine negative Zahl ist, löst das Laufzeit-Framework im TRY-Block der TRY-Kontrollstruktur der aufgerufenen Methode calculation eine Ausnahme der vordefinierten Klasse CX_SY_ARG_OUT_OF_DOMAIN aus. Da in dieser TRY-Kontrollstruktur kein Behandler für diese Ausnahme definiert ist, wird die Ausnahme aus der Methode propagiert, was durch die Deklaration der Oberklasse CX_SY_ARITHMETIC_ERROR mit RAISING in der Schnittstelle der Methode möglich ist. Zuvor wird der CLEANUP-Block der inneren TRY-Kontrollstruktur ausgeführt.
  • Weitere eventuelle Ausnahmen werden im letzten CATCH-Block der TRY-Kontrollstruktur der Kompilationseinheit behandelt, der durch Angabe der allgemeinsten Ausnahmeklasse CX_ROOT alle möglichen Ausnahmen abfängt. Wäre beispielsweise CX_SY_ARG_OUT_OF_DOMAIN oder eine ihrer Oberklassen nicht in der Schnittstelle der Methode deklariert, käme es zur Ausnahme CX_SY_NO_HANDLER, die dann im letzten CATCH-Block behandelt würde.





SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up   SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 2332 Date: 20240523 Time: 085951     sap01-206 ( 55 ms )