try_finally_016.phpt 558 B

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