2014-07-18 15:45:31 +08:00
|
|
|
--TEST--
|
|
|
|
Bug #66608 (Incorrect behavior with nested "finally" blocks)
|
|
|
|
--FILE--
|
|
|
|
<?php
|
|
|
|
function bar() {
|
|
|
|
try {
|
|
|
|
echo "1\n";
|
2014-07-19 17:19:01 +08:00
|
|
|
try {
|
|
|
|
} finally {
|
|
|
|
try {
|
|
|
|
} finally {
|
|
|
|
}
|
|
|
|
echo "2\n";
|
|
|
|
}
|
2014-07-18 15:45:31 +08:00
|
|
|
} finally {
|
|
|
|
try {
|
|
|
|
throw new Exception ("");
|
|
|
|
} catch (Exception $ab) {
|
2014-07-19 17:19:01 +08:00
|
|
|
echo "3\n";
|
2014-07-18 15:45:31 +08:00
|
|
|
} finally {
|
|
|
|
try {
|
|
|
|
} finally {
|
2014-07-19 17:19:01 +08:00
|
|
|
echo "4\n";
|
2014-07-18 15:45:31 +08:00
|
|
|
try {
|
|
|
|
} finally {
|
|
|
|
}
|
2014-07-19 17:19:01 +08:00
|
|
|
echo "5\n";
|
2014-07-18 15:45:31 +08:00
|
|
|
}
|
|
|
|
}
|
2014-07-19 17:19:01 +08:00
|
|
|
echo "6\n";
|
2014-07-18 15:45:31 +08:00
|
|
|
try {
|
|
|
|
} finally {
|
2014-07-19 17:19:01 +08:00
|
|
|
while (1) {
|
|
|
|
try {
|
|
|
|
echo "7\n";
|
|
|
|
break;
|
|
|
|
} finally {
|
|
|
|
echo "8\n";
|
|
|
|
}
|
|
|
|
echo "bad";
|
|
|
|
}
|
|
|
|
echo "9\n";
|
|
|
|
while (1) {
|
|
|
|
try {
|
|
|
|
throw new Exception("");
|
|
|
|
} catch(Exception $e) {
|
|
|
|
echo "10\n";
|
|
|
|
break;
|
|
|
|
} finally {
|
|
|
|
echo "11\n";
|
|
|
|
}
|
|
|
|
echo "bak\n";
|
|
|
|
}
|
2014-07-18 15:45:31 +08:00
|
|
|
}
|
2014-07-19 17:19:01 +08:00
|
|
|
echo "12\n";
|
2014-07-18 15:45:31 +08:00
|
|
|
}
|
2014-07-19 17:19:01 +08:00
|
|
|
echo "13\n";
|
2014-07-18 15:45:31 +08:00
|
|
|
}
|
|
|
|
bar();
|
|
|
|
--EXPECT--
|
|
|
|
1
|
|
|
|
2
|
|
|
|
3
|
|
|
|
4
|
|
|
|
5
|
|
|
|
6
|
|
|
|
7
|
2014-07-19 17:19:01 +08:00
|
|
|
8
|
|
|
|
9
|
|
|
|
10
|
|
|
|
11
|
|
|
|
12
|
|
|
|
13
|