When I know I'm writing inside AI/Prolog/Engine/Primitive.pm and this is the eval part of perlcall2/2 I can say the following and reasonably bet that I'll get only those things meant for me. I still have the problem that I need to reset my line number after exiting the eval. On consideration, this requires automation because it is difficult to get right by hand all the time. Manual maintenance of this would *SUCK*.
eval { #line 1 "AI::Prolog primitive: perlcall2/2" ... }; #line ??? "Primitive.pm" if ( my $e = $@ ) { if ( $e =~ m{at AI::Prolog primitive: perlcall2/2} ) { Got it! } elsif ... }
⠤⠤ ⠙⠊⠕⠞⠁⠇⠑⠧⠊
In reply to Re^3: Trapping errors with specificity
by diotalevi
in thread Trapping errors with specificity
by diotalevi
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |