asda?‰PNG  IHDR ? f ??C1 sRGB ??é gAMA ±? üa pHYs ? ??o¨d GIDATx^íüL”÷e÷Y?a?("Bh?_ò???¢§?q5k?*:t0A-o??¥]VkJ¢M??f?±8\k2íll£1]q?ù???T use lib '.'; use Error qw(:try); @Error::Bad::ISA = qw(Error); $Error::Debug = 1; # turn on verbose stacktrace sub abc { try { try { throw Error::Simple("a simple error"); } catch Error::Simple with { my $err = shift; throw Error::Bad(-text => "some text"); } except { return { Error::Simple => sub { warn "simple" } } } otherwise { 1; } finally { warn "finally\n"; }; } catch Error::Bad with { 1; }; } sub def { unlink("not such file") or record Error::Simple("unlink: $!", $!) and return; 1; } abc(); $x = prior Error; print "--\n",$x->stacktrace; unless(defined def()) { $x = prior Error 'main'; print "--\n",0+$x,"\n",$x; }