NAME
ExtUtils::ExCxx - Let perl use ANSI C++ exceptions.
SYNOPSIS
use ExtUtils::ExCxx;
DESCRIPTION
Replaces perl's default tryblock method with a C++ try/throw style method. This should be completely transparent (except to extensions that secretly invoke low-level exception handling routines).
PATCH
At the moment, this extension requires patches to the perl source code. Hopefully, these changes will make it into the next developer release. Either apply stage0[1-3] or the whole.patch to 5.004_56.
'make test' should be 100%!
(FYI: You don't need to built this extension to test the patch.)
ALSO
call_list should probably be optimized to call tryblock only once instead of doing it for each BEGIN or END block. However, the control flow is messy enough that I didn't attempt it.
dJMPENV is setjmp-centric. This might be construed as a bug.
FUNCTIONS AFFECTED
JMPENV_PUSH
perl_call_sv perl_eval_sv docatch perl_parse perl_run call_list
JMPENV_JUMP
die croak docatch pp_goto calllist my_exit_jump
BUGS
sigsetjmp saves more state than a C++ try block. sigprocmask & priocntl stuff should be addressed.
AUTHOR
Copyright © 1997-1998 Joshua Nathaniel Pritikin. All rights reserved.
This package is free software and is provided "as is" without express or implied warranty. It may be used, redistributed and/or modified under the terms of the Perl Artistic License (see http://www.perl.com/perl/misc/Artistic.html)
The author hereby releases the patches to the perl source code to the public domain. Thanks a ton! pritikin@mindspring.com
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 64:
Non-ASCII character seen before =encoding in '©'. Assuming CP1252