Exception Handling in einer Klasse

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Getting started ... Alles für einen gelungenen Start.
3 Beiträge • Seite 1 von 1
3 Beiträge Seite 1 von 1

Exception Handling in einer Klasse

Beitrag von Aba ( / / 0 / 3 ) »
Hallo zusammen,

ich habe mal eine grundlegende Verständnisfrage zur Ausnahmebehandlung in globalen Klassen. Wie sollte man dort das Auftreten von Ausnahmen gestalten? Sollte man mit 'RAISE EXCEPTION' auf eine eigens definierte Ausnahmeklasse, in der man die Fehlertexte anlegt, oder bspw. direkt mit 'Message' arbeiten? Bzw. sollte man extra eine Ausnahmeklasse anlegen, die nur von einer anderen Klasse genutzt wird?

Aba

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


Re: Exception Handling in einer Klasse

Beitrag von jocoder (Specialist / 343 / 3 / 102 ) »
Vorteile RAISE EXCEPTION mit eigener Ausnahmeklasse (zcx_...):
1. Keine Kopplung mit dem UI (SAP GUI, Web-Dynpro, ODATA-Service)
2. Ausnahme kann über viele Schichten propagiert werden und dann erst abgefangen
3. t100-Meldungen können in Ausnahmeklassen verwendet werden und werden auch mit dem Verwendungsnachweis gefunden
4. Ausnahmebehandler kann die Ausnahme auch im Dialog protokollieren und dem Benutzer eine Meldung anzeigen

Vorteile der Message-Anweisung:
1. Schneller zu implementieren
2. Ausnahmebehandler müssen nicht implementiert werden
3. Warnungen, die der Benutzer bestätigen muss, sind mit Ausnahmen schwerer zu implementieren
4. Im Batch-Modus werden die Meldungen direkt protokolliert

Eine eigene Ausnahmeklasse für eine Gruppe von zusammenhängenden Fehlersituationen gibt auf alle Fälle Sinn. In der Ausnahmeklasse können dann sinnvolle Ausnahmetexte angelegt werden.
Ich lege beispielsweise gerne eine Ausnahmeklasse pro Nachrichtenklasse an.

Re: Exception Handling in einer Klasse

Beitrag von SaskuAc (Specialist / 321 / 37 / 44 ) »
Kann mich im Prinzip Jocoder anschließen.
Da du hier von globalen Klassen ausgehst würde ich dir exception handling mit Ausnahmeklassen ( also ZCX* ) empfehlen. Das ist schlichtweg sauberer.

Außerdem sollte der Verwender dieser Klasse entscheiden können was bei einem solchen Fehler passiert. 'MESSAGE' ist hier einfach unsauber.

Es kommt aber unterm Strich darauf an wie "sauber" du programmieren möchtest. Wenn du z. b. nach dem MVC-Pattern programmieren möchtest, dann baust du dir mit den Exceptions deine Meldung zusammen und gibst sie dann im "View" part aus.

Seite 1 von 1

Vergleichbare Themen

3
Antw.
4336
Views
exception handling - wie am Besten?
von Legxis » 29.03.2018 15:18 • Verfasst in ABAP® für Anfänger
7
Antw.
3531
Views
Exception Handling bei redefinierter Methode
von SAP4LIFE » 11.11.2016 09:50 • Verfasst in ABAP Objects®
1
Antw.
2055
Views
Exception Handling FuBa test
von ichse18577 » 23.04.2019 13:15 • Verfasst in ABAP® Core
6
Antw.
1795
Views
Event-Handling in Klasse auslagern
von Margolwes » 08.05.2023 07:51 • Verfasst in ABAP Objects®
5
Antw.
3687
Views
Klasse soll Typdefinition von anderer Klasse nutzen
von debianfan » 24.05.2017 11:30 • Verfasst in ABAP Objects®

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

Aktuelle Forenbeiträge

ABAP - Mail so10 Text
vor einer Stunde von PeterPaletti 2 / 44
selection-screen comment mit icon
vor 5 Stunden von DeathAndPain 9 / 1122
Chat GPT - Erfahrungen?
vor 3 Tagen von DeathAndPain 33 / 6809

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.

Aktuelle Forenbeiträge

ABAP - Mail so10 Text
vor einer Stunde von PeterPaletti 2 / 44
selection-screen comment mit icon
vor 5 Stunden von DeathAndPain 9 / 1122
Chat GPT - Erfahrungen?
vor 3 Tagen von DeathAndPain 33 / 6809

Unbeantwortete Forenbeiträge

SD_PRINT_TERMS_OF_PAYMENT
vor 4 Tagen von Manfred K. 1 / 915
BUSOBJEKT zu CMIS PHIO ermitteln
vor 3 Wochen von snooga87 1 / 2724