summaryrefslogtreecommitdiff
path: root/tests/lang/038.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'tests/lang/038.phpt')
-rw-r--r--tests/lang/038.phpt41
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===