Thread Warum kein $@ statt $!
(29 answers)
Opened by rosti at 2014-09-23 13:04 2014-09-25T09:04:48 GwenDragon Das Laufzeitverhalten lässt sich verbessern: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 #!/usr/bin/perl use strict; use warnings; use Carp; sub new{ my $class = shift; my $arg = shift; return eval{ croak "Argument ist nicht definiert"} unless defined $arg; return bless{ ARG => $arg, }, $class; } my $main = main->new() or die "Die Instanz konnte nicht erstellt werden, Fehler: $@"; Indem eval nur für den Fehlerfall greift. Auch hier wird über die API nicht $@ befragt ob es einen Fehler gab, sondern der Rückgabewert des Konstruktors. Dem Anwender der API steht es also frei, $@ zu verwenden. In meinem Artikel http://rolfrost.de/perlmod.html gehe ich speziell auf das Thema "Perl Module für den Eigenbedarf" ein, gerade was das "Stiefkind Fehlerbehandlung" betrifft. Schönen Sonntag ;) |