Perls Exception Modell ist für solche Dinge besonders gut geignet - In PHP ist das eher unschön
In Perl 5 gibt's ab Werk nur eval, die und $@
Genau das meinte ich. Und eben weil man, in $@
infolge eines angehängten \n
einen Backtrace unterdrücken kann, eignen sich Exceptions auch dafür Benutzerfehler abzufangen und wie das Beispiel zeigt, vereinfacht sich dadurch der Code.
Konkret wirft Scaliger->new( date => $Benutzereingabe )
eine Ex und weil es sehr viele Möglichkeiten gibt, ein falsches Datum einzugeben, nutzt diese Klasse anstelle endloser Kontrollstrukturen eben das Exceptionmodell als Abkürzung.
error.pm formalisiert das zu einem try/catch/finally Modell mit Exception-Objekten, und das ist sicherlich eine prima Sache,
Nun, es macht ja die Sache nicht besser! Es führt lediglich dazu, daß try/catch/finally
als atomarer Block geschrieben werden muss. Und damit bringt des Exceptionmodell hinsichtlich Fehlerbehandlung von Benutzerfehlern keinen Vorteil.
Eine Fehlerbehandlung wie hier die an Einfachheit nicht zu übertreffen ist, ist mit error.pm nicht machbar.
.