8f7c5ec690df0aa85f0b5d6b1c4e7dac42261d15
[yaffs-website] / vendor / nikic / php-parser / test / code / parser / stmt / tryCatch.test
1 Try/catch
2 -----
3 <?php
4
5 try {
6     doTry();
7 } catch (A $b) {
8     doCatchA();
9 } catch (B $c) {
10     doCatchB();
11 } finally {
12     doFinally();
13 }
14
15 // no finally
16 try { }
17 catch (A $b) { }
18
19 // no catch
20 try { }
21 finally { }
22
23 -----
24 array(
25     0: Stmt_TryCatch(
26         stmts: array(
27             0: Expr_FuncCall(
28                 name: Name(
29                     parts: array(
30                         0: doTry
31                     )
32                 )
33                 args: array(
34                 )
35             )
36         )
37         catches: array(
38             0: Stmt_Catch(
39                 types: array(
40                     0: Name(
41                         parts: array(
42                             0: A
43                         )
44                     )
45                 )
46                 var: b
47                 stmts: array(
48                     0: Expr_FuncCall(
49                         name: Name(
50                             parts: array(
51                                 0: doCatchA
52                             )
53                         )
54                         args: array(
55                         )
56                     )
57                 )
58             )
59             1: Stmt_Catch(
60                 types: array(
61                     0: Name(
62                         parts: array(
63                             0: B
64                         )
65                     )
66                 )
67                 var: c
68                 stmts: array(
69                     0: Expr_FuncCall(
70                         name: Name(
71                             parts: array(
72                                 0: doCatchB
73                             )
74                         )
75                         args: array(
76                         )
77                     )
78                 )
79             )
80         )
81         finally: Stmt_Finally(
82             stmts: array(
83                 0: Expr_FuncCall(
84                     name: Name(
85                         parts: array(
86                             0: doFinally
87                         )
88                     )
89                     args: array(
90                     )
91                 )
92             )
93         )
94     )
95     1: Stmt_TryCatch(
96         stmts: array(
97         )
98         catches: array(
99             0: Stmt_Catch(
100                 types: array(
101                     0: Name(
102                         parts: array(
103                             0: A
104                         )
105                     )
106                 )
107                 var: b
108                 stmts: array(
109                 )
110             )
111         )
112         finally: null
113         comments: array(
114             0: // no finally
115         )
116     )
117     2: Stmt_TryCatch(
118         stmts: array(
119         )
120         catches: array(
121         )
122         finally: Stmt_Finally(
123             stmts: array(
124             )
125         )
126         comments: array(
127             0: // no catch
128         )
129     )
130 )