123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- --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
- (
- )
- )
- )
|