multiCatch.test 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. Try/catch with multiple classes
  2. -----
  3. <?php
  4. try {
  5. $x;
  6. } catch (X|Y $e1) {
  7. $y;
  8. } catch (\A|B\C $e2) {
  9. $z;
  10. }
  11. -----
  12. array(
  13. 0: Stmt_TryCatch(
  14. stmts: array(
  15. 0: Stmt_Expression(
  16. expr: Expr_Variable(
  17. name: x
  18. )
  19. )
  20. )
  21. catches: array(
  22. 0: Stmt_Catch(
  23. types: array(
  24. 0: Name(
  25. name: X
  26. )
  27. 1: Name(
  28. name: Y
  29. )
  30. )
  31. var: Expr_Variable(
  32. name: e1
  33. )
  34. stmts: array(
  35. 0: Stmt_Expression(
  36. expr: Expr_Variable(
  37. name: y
  38. )
  39. )
  40. )
  41. )
  42. 1: Stmt_Catch(
  43. types: array(
  44. 0: Name_FullyQualified(
  45. name: A
  46. )
  47. 1: Name(
  48. name: B\C
  49. )
  50. )
  51. var: Expr_Variable(
  52. name: e2
  53. )
  54. stmts: array(
  55. 0: Stmt_Expression(
  56. expr: Expr_Variable(
  57. name: z
  58. )
  59. )
  60. )
  61. )
  62. )
  63. finally: null
  64. )
  65. )