blob: 074eeb47fa7a971f32758b4c33e6cbe90309ba3b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
--TEST--
Stepping with exceptions must not be stuck at CATCH
--PHPDBG--
b ZEND_THROW
r
s
q
--EXPECTF--
[Successful compilation of %s]
prompt> [Breakpoint #0 added at ZEND_THROW]
prompt> [Breakpoint #0 in ZEND_THROW at %s:4, hits: 1]
>00004: throw new Exception;
00005: }
00006:
prompt> [L0 %s HANDLE_EXCEPTION %s]
>00004: throw new Exception;
00005: }
00006:
prompt> [L0 %s HANDLE_EXCEPTION %s]
[L9 %s CATCH "Exception" $e 1 %s]
>00008: foo();
00009: } catch (Exception $e) {
00010: echo "ok";
prompt> [L10 %s ECHO "ok" %s]
>00010: echo "ok";
00011: } finally {
00012: echo " ... ok";
prompt> ok
[L10 %s FAST_CALL J8 ~%d %s]
[L12 %s ECHO " ... ok" %s]
>00012: echo " ... ok";
00013: }
00014:
prompt> ... ok
[L12 %s FAST_RET ~%d %s]
[L10 %s JMP J10 %s]
>00010: echo "ok";
00011: } finally {
00012: echo " ... ok";
prompt> [L12 %s RETURN 1 %s]
>00012: echo " ... ok";
00013: }
00014:
prompt> [Script ended normally]
prompt>
--FILE--
<?php
function foo() {
throw new Exception;
}
try {
foo();
} catch (Exception $e) {
echo "ok";
} finally {
echo " ... ok";
}
|