try_catch_finally_002.phpt 792 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. --TEST--
  2. Try catch finally catch(multi catch blocks)
  3. --FILE--
  4. <?php
  5. class AE extends Exception {};
  6. class BE extends Exception {};
  7. function foo () {
  8. try {
  9. try {
  10. try {
  11. try {
  12. echo "1";
  13. throw new Exception("try");
  14. } catch (AE $e) {
  15. die("error");
  16. } finally {
  17. echo "2";
  18. }
  19. } finally {
  20. echo "3";
  21. }
  22. } catch (BE $e) {
  23. die("error");
  24. } finally {
  25. echo "4";
  26. }
  27. } catch (Exception $e) {
  28. echo "5";
  29. } catch (AE $e) {
  30. die("error");
  31. } finally {
  32. echo "6";
  33. }
  34. return 7;
  35. }
  36. var_dump(foo());
  37. ?>
  38. --EXPECTF--
  39. 123456int(7)