Thread OO-Modul schreiben
(9 answers)
Opened by bianca at 2013-04-14 13:01
Mein Tipp:
Lass den Exporter zunächst weg. Zur Frage Funktionen/Methoden aufrufen, guck mal: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 package Foo; use strict; use warnings; sub new{ print "This is new!\n"; } sub neu{ print "Das ist neu!\n"; } package main; use strict; use warnings; new Foo; Foo->neu; Es gibt also zwei Möglichkeiten für den Aufruf. Fehlerbehandlung: Mit Exceptions arbeiten, nächstes Beispiel: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 package Foo; use strict; use warnings; use Carp; sub new{ my $class = shift; my %args = @_; my $self = bless{}, $class; return eval{ croak "x ist nicht gesetzt" if not exists $args{x}; $self; }; } package main; use strict; use warnings; my $f = Foo->new(xx => 1) or die $@; # Zeile 24 Fehlermeldung: Quote Carp sorgt also dafür, dass ein Backtrace ausgegeben wird, der zeigt zur Zeile, wo der Fehler verursacht wurde. Würdest Du anstelle croak() ein die() machen, stünde Zeile 12 in der Fehlermeldung. Probiers mal aus ;) |