Thread Warum kein $@ statt $!
(29 answers)
Opened by rosti at 2014-09-23 13:04 2015-01-12T07:32:06 Muffi hi danke, ja, wir können das Auslagern von Methoden als Abstraktion bezeichnen. Meine Fehlerbehandlung hat jedoch mit Abstraktion nichts zut tun, sie ist eine Vereinbarung: Code (perl): (dl
)
1 2 3 4 5 6 # Es wird der Erfolg einer Methodenausführung festgestellt my $result = $instanz->methode(ARGS) or return $instanz->fehlerseite(FEHLERGRUND); # or die "FEHLERGRUND"; # or die $@; # or return $instanz->fehlerseite($@); Wobei zur Fehlerbehandlung hinzukommt: Das was der Benutzer zu sehen bekommt, ist es eine fehlerhafte Eingabe oder ist es höhere Gewalt. Und diese beiden Dinge können bereits während der Entwicklung einer Klasse einfließen, was letztendlich die Entwicklung der Endanwendung erleichtert: or return $instanz->fehlerseite($@); Hier war der Entwickler faul: Code (perl): (dl
)
my $sca = Scaliger->new(date => "1.1.$year") or die $@; Und das ist das Result einer fehlerhaften Benutzereingabe für das Jahr: http://rolfrost.de/eqyear.html?year=9999 Es kann jedoch einen Grund geben, es so zu machen: Für Bots gibt es keine Links mehr denen sie folgen könnten. Diese Art der Fehlerbehandlung (Exception werfen) setzt natürlich voraus, dass sämtliche Aktionen in einem try-Block laufen... |