dedlfix: Warum nicht Error & Exception Überprüfung in Validatoren

Beitrag lesen

Tach!

  1. Ist dieser zu behandelnde Sachverhalt validiert, arbeitet die Klassenmethode der Business Klasse einfach weiter, wenn nicht, wirft der Validator eine Exception oder Error (z.B. new FoobarError(), new FoobarException() usw.) die man geschrieben hat.

Die Validatorklasse kann nur eine allgemeine ValidationFailed werfen, aber keine Exception, die für den Business Case spezifisch ist. Dazu müsste man dort die allgemeine Exception abfangen und umpacken. Das kann man sich sparen, wenn man den Aufrufer selbst die Exception werfen lässt, die er für richtig hält. Außerdem kann eine fehlende Validierung immer nur als so schwerwiegend eingestuft werden, dass eine Exception nötig ist, selbst wenn dem Aufrufer eine einfache Information reichen würde.

Der Validator sollte seine Aufgabe des Validierens erfüllen und nicht in den Control Flow eingreifen, wenn dazu keine zwingende Notwendigkeit besteht. Wenn der Aufrufer immer eine Exception abzufangen hat, macht das die Behandlung nur unnötig komplex, auch an Stellen, wo das nicht nötig ist.

dedlfix.