Thread Error for Standardlibrary?
(2 answers)
Opened by defun at 2008-08-15 20:51
Ich meine sowas wie
Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 my $status = catch { my $result; my $ottoStatus = catch {$result = otto()}; doSomethingWith($ottoStatus) if $ottoStatus; error("Wrong number of otto\n") unless $result == 4; doAnything(); }; doSomethingWith($status) if $status; Inzwischen hat sich der Knoten in meinem Kopf gelöst und mir ist klar, dass man das gewünschte Verhalten mit einem Stack erreicht: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 package ErrorHandling; our @RecordedErrors; sub error { $RecordedErrors[-1] = [@_]; die; } sub catch(&) { my $code = shift; push @RecordedErrors, 0; eval {$code->()}; return pop @RecordedErrors; } |