php-src/Zend/tests/catch_finally_004.phpt
Xinchen Hui 60a29791e4 Fixed bug that jmp in try block jmp over finally block
Refactor the implemention,  make codes clear
2012-08-22 18:32:03 +08:00

42 lines
681 B
PHP

--TEST--
Try catch finally (nesting try-catch-finally)
--FILE--
<?php
function throw_exception($msg) {
throw new Exception($msg);
}
function foo (&$ex) {
try {
echo "1";
try {
echo "2";
throw_exception("try");
} catch (Exception $e) {
echo "3";
throw_exception("catch");
} finally {
echo "4";
throw_exception("finally");
}
} catch (Exception $e) {
$ex = $e;
echo "3";
} finally {
echo "2";
}
return 1;
}
var_dump(foo($ex));
do {
var_dump($ex->getMessage());
} while ($ex = $ex->getPrevious());
?>
--EXPECT--
123432int(1)
string(7) "finally"
string(5) "catch"