diff options
Diffstat (limited to 'tests/lang/038.phpt')
-rw-r--r-- | tests/lang/038.phpt | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/lang/038.phpt b/tests/lang/038.phpt new file mode 100644 index 0000000..195050b --- /dev/null +++ b/tests/lang/038.phpt @@ -0,0 +1,41 @@ +--TEST-- +Convert warnings to exceptions +--FILE-- +<?php + +class MyException extends Exception +{ + function __construct($errstr, $errno=0, $errfile='', $errline='') + { + parent::__construct($errstr, $errno); + $this->file = $errfile; + $this->line = $errline; + } +} + +function Error2Exception($errno, $errstr, $errfile, $errline) +{ + throw new MyException($errstr, $errno);//, $errfile, $errline); +} + +$err_msg = 'no exception'; +set_error_handler('Error2Exception'); + +try +{ + $con = fopen("/tmp/a_file_that_does_not_exist",'r'); +} +catch (Exception $e) +{ + $trace = $e->getTrace(); + var_dump($trace[0]['function']); + var_dump($trace[1]['function']); +} + +?> +===DONE=== +<?php exit(0); ?> +--EXPECTF-- +string(15) "Error2Exception" +string(5) "fopen" +===DONE=== |