package ErrorHandling; our @RecordedErrors; sub error { $RecordedErrors[-1] = [@_]; die; } sub catch(&) { my $code = shift; push @RecordedErrors, 0; eval {$code->()}; return pop @RecordedErrors; }