Thread Warum kein $@ statt $!
(29 answers)
Opened by rosti at 2014-09-23 13:04
hi,
en anderes Beispiel dafür, warum ein eigener, von $@ abweichender $Class::errstr schlecht ist. Das Beispiel ist Config::Tiny und $Class::errstr entspricht $Config::Tiny::errstr: Ich habe eine eigene Methode configini() die müsste ich so aufrufen: Code (perl): (dl
)
1 2 my $cfg = main->configini("/path/cfg.ini") or die "Fehler: $Config::Tiny::errstr"; Zum Abfangen möglicher Fehler müsste ich $Config::Tiny::errstr benutzen, wie das der Autor der Klasse vorsieht. Meine Methode configini() ist für den AUTOLOAD in einer externen Datei definiert, dort wird auch das Modul use Config::Tiny; eingebunden. Die Rennerei geht los, wenn ich mich, aus welchen Gründen auch immer, für ein anderes Modul entscheide, z.B. für Config::IniFiles. Dann nämlich ist $Config::Tiny::errstr nicht mehr zu gebrauchen, weil ein anderes Modul geladen wurde. Ein davon uabhängiger Aufruf sähe so aus: Freilich gibts eine Lösung: Innerhalb der Funktionsdefinition lege ich $Config::Tiny::errstr um auf $@ aber warum einfach, wenns kompliziert geht ;) |