diff options
Diffstat (limited to 'src/function.cpp')
-rw-r--r-- | src/function.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/function.cpp b/src/function.cpp index cc4315f..3269448 100644 --- a/src/function.cpp +++ b/src/function.cpp @@ -43,6 +43,13 @@ void invoke_function(INTERNAL_FUNCTION_PARAMETERS) // get the result result = function->invoke(params); } + catch (Php::OrigException &exception) + { + // we caught an exception that was original thrown by PHP code, and not + // processed by C++ code, this means that we're going to restore this + // exception so that it can be further handled by PHP + exception.restore(); + } catch (Php::Exception &exception) { // an exception originally thrown by C++ should be passed on to PHP |