in reply to Error Handling Misconception
I don't use the try/catch form of eval much, although it does seem to work with the above:eval { main () }; print STDERR "# $0: ", $@ and exit 1 if $@; exit 0; sub main { # do everything ... }
prints "hi", not "# <programname>: test_sub dies", as I expected. Any advice? Could this lead me to shoot myself in the foot later on? Thanks much.eval { main () }; print STDERR "# $0: ", $@ and exit 1 if $@; exit 0; sub main { my $val = eval { test_sub () }; print "hi" if $@; } sub test_sub { die "test_sub dies" }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: Error Handling Misconception
by bobn (Chaplain) on Sep 06, 2003 at 14:52 UTC |