1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
--TEST--
Exception during break 2 with multiple try/catch
--FILE--
<?php
class A {
public $a = 1;
public $b = 2;
public function __destruct() {
throw new Exception;
}
}
function foo() {
foreach ([0] as $_) {
try {
foreach (new A as $value) {
try {
break 2;
} catch (Exception $e) {
echo "catch1\n";
} finally {
echo "finally1\n";
}
}
} catch (Exception $e) {
echo "catch2\n";
} finally {
echo "finally2\n";
}
}
}
foo();
?>
--EXPECT--
finally1
catch2
finally2
|