I didn't get an error about a call to otherwise, but at the same time, neither the catch err with nor the otherwise got called. The err shouldn't have caught it, since it was intentionally a different exception type. but the otherwise should have from my understanding. instead the exception was uncaught, and simply killed execution... Which may mean I don't understand what otherwise is supposed to do... but http://search.cpan.org/~shlomif/Error-0.17016/lib/Error.pm saystry { my ($k) = 2; throw sysAssert("test assert"); } catch err with { my ($ex) = @_; print "caught by with\n"; dPrt("warn"," with $ex"); } otherwise { my ($ex) = @_; print "caught by otherwise \n"; dPrt("warn","OTHERWISE:$ex"); } die "got here";
So I am pretty sure it should have caught that... but I am not seeing either print statement in either block, nor the die statement. So the exception is not being caught...otherwise BLOCK Catch any error by executing the code in BLOCK When evaluated BLOCK will be passed one argument, which will be th +e error being processed. The error will also be available in $@. Only one otherwise block may be specified per try block
In reply to Re^4: Can't call method "otherwise" without a package or object reference at
by rpelak
in thread Can't call method "otherwise" without a package or object reference at
by rpelak
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |