try_catch_finally_005.phpt 892 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. --TEST--
  2. Try catch finally (break / cont in try block)
  3. --CREDITS--
  4. adoy
  5. --FILE--
  6. <?php
  7. for ($i = 0; $i < 100 ; $i ++) {
  8. try {
  9. break;
  10. } finally {
  11. var_dump("break");
  12. }
  13. }
  14. for ($i = 0; $i < 2; $i ++) {
  15. try {
  16. continue;
  17. } finally {
  18. var_dump("continue1");
  19. }
  20. }
  21. for ($i = 0; $i < 3; $i ++) {
  22. try {
  23. try {
  24. continue;
  25. } finally {
  26. var_dump("continue2");
  27. if ($i == 1) {
  28. throw new Exception("continue exception");
  29. }
  30. }
  31. } catch (Exception $e) {
  32. var_dump("cactched");
  33. } finally {
  34. var_dump("finally");
  35. }
  36. }
  37. ?>
  38. --EXPECTF--
  39. string(5) "break"
  40. string(9) "continue1"
  41. string(9) "continue1"
  42. string(9) "continue2"
  43. string(7) "finally"
  44. string(9) "continue2"
  45. string(8) "cactched"
  46. string(7) "finally"
  47. string(9) "continue2"
  48. string(7) "finally"