blob: 2f72ea51f8530eabadfe3a6ecb6f450998c4bb8c (
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
--TEST--
Bug #50383 (Exceptions thrown in __call / __callStatic do not include file and line in trace)
--FILE--
<?php
class myClass {
public static function __callStatic($method, $args) {
throw new Exception("Missing static method '$method'\n");
}
public function __call($method, $args) {
throw new Exception("Missing method '$method'\n");
}
}
function thrower() {
myClass::ThrowException();
}
function thrower2() {
$x = new myClass;
$x->foo();
}
try {
thrower();
} catch(Exception $e) {
print $e->getMessage();
print_r($e->getTrace());
}
try {
thrower2();
} catch (Exception $e) {
print $e->getMessage();
print_r($e->getTrace());
}
?>
--EXPECTF--
Missing static method 'ThrowException'
Array
(
[0] => Array
(
[file] => %s
[line] => 13
[function] => __callStatic
[class] => myClass
[type] => ::
[args] => Array
(
[0] => ThrowException
[1] => Array
(
)
)
)
[1] => Array
(
[file] => %s
[line] => 21
[function] => thrower
[args] => Array
(
)
)
)
Missing method 'foo'
Array
(
[0] => Array
(
[file] => %s
[line] => 17
[function] => __call
[class] => myClass
[type] => ->
[args] => Array
(
[0] => foo
[1] => Array
(
)
)
)
[1] => Array
(
[file] => %s
[line] => 28
[function] => thrower2
[args] => Array
(
)
)
)
|