EXCEPTION: Division by zero Fragen

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
2 Beiträge • Seite 1 von 1
2 Beiträge Seite 1 von 1

EXCEPTION: Division by zero Fragen

Beitrag von PaddyG (ForumUser / 63 / 0 / 0 ) »
Hallo,

ich habe ein Programm wo Exceptions abfangen werden:

Code: Alles auswählen.

TRY.
.
.
ENDTRY.

  CATCH cx_root INTO oref.
    errore = oref->get_text( ).
Wie kann ich mir nun die genaue Ursache des Fehlers anschauen, da ST22 dadurch ja umgangen wird bzw. der Short dump abgefangen und stattdessen die Exception abgefangen wird?

Hat Ihr da ggf. einen Tip?

Danke im Voraus.
Mit freundlichen Grüßen

Partick

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Beitrag von Gast ( / / 0 / 3 ) »
Für abfangbare Systemfehler gibt es eine Liste mit Ausnahmeklassen, die abgefangen werden können im Rahmen des Catch-Blocks.

Siehe hierzu die Doku zu catch system-exceptions.
Du findest dann in etwa folgendes:
ADDF_INT_OVERFLOW
Überlauf bei Addition, Typ I ( ADD ... UNTIL / ADD ... FROM ... TO)
Ausnahmeklasse: CX_SY_ARITHMETIC_OVERFLOW

ASSIGN_CASTING_ILLEGAL_CAST
Der Typ des Quellfeldes und der Zieltyp stimmen in den Komponenten, die Strings, Tabellen oder Referenzen sind, nicht exakt in Offset und Typ überein.
Ausnahmeklasse: CX_SY_ASSIGN_CAST_ILLEGAL_CAST

ASSIGN_CASTING_UNKNOWN_TYPE
Der zur Laufzeit angegebene Typ ist unbekannt
Ausnahmeklasse: CX_SY_ASSIGN_CAST_UNKNOWN_TYPE

ASSIGN_FIELD_NOT_IN_RANGE
Feld liegt nicht innerhalb der angegebenen RANGE.
Ausnahmeklasse: CX_SY_ASSIGN_OUT_OF_RANGE

BCD_FIELD_OVERFLOW
Überlauf bei Konvertierung / arithmetischer Operation (Typ P, mit spezifizierter Länge)
Ausnahmeklasse: CX_SY_CONVERSION_OVERFLOW

BCD_OVERFLOW
Überlauf bei Konvertierung / arithmetischer Operation (Typ P)
Ausnahmeklasse: CX_SY_ARITHMETIC_OVERFLOW

BCD_ZERODIVIDE
Division durch 0 (Typ P)
Ausnahmeklasse: CX_SY_ZERODIVIDE

usw.
Die relvante Exception-Klasse wäre in dem Fall also CX_SY_ZERODIVIDE.
Von dieser erzeugst Du Dir dann eine Variable, also z.B.

Code: Alles auswählen.

oref typ ref to cx_sy_zerodivide.
auf oref kannst dann entsprechend zugreifen und Dir die Fehlertexte ausgeben lassen (mit den Methoden get_text bzw. get_longtext).

Seite 1 von 1

Vergleichbare Themen

9
Antw.
5113
Views
Rundungsfehler bei Division
von schusterd » 10.08.2016 11:12 • Verfasst in ABAP® für Anfänger
6
Antw.
7549
Views
Division durch 0 vermeiden
von Gast » 18.05.2005 16:47 • Verfasst in ABAP® für Anfänger
5
Antw.
2947
Views
Unerwartetes Ergebnis bei Division
von Barney » 05.01.2016 14:23 • Verfasst in ABAP® für Anfänger
1
Antw.
2132
Views
Division in Query mittels lokalem Feld
von peterlustig007 » 05.04.2007 09:06 • Verfasst in Sonstige Module
8
Antw.
724
Views
Exception - MSG
von HH_ABAP » 20.06.2023 08:15 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
vor 2 Tagen von Bright4.5 1 / 767
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2389
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8974