php异常处理使用示例,代码说明了普通错误和致命错误捕获及处理的方法。
代码如下:
<?php // 禁止错误输出 error_reporting(0); // 设置错误处理器 set_error_handler('errorHandler'); register_shutdown_function('fatalErrorHandler'); class Test{ public function index(){ // 这里发生一个警告错误,出发errorHandler echo $undefinedVarible; } } function errorHandler( $errno, $errstr, $errfile, $errline){ $arr = array( '['. date('Y-m-d h-i-s').']', 'http://www.baidu.com', '|', $errstr, $errfile, 'line:'. $errline, ); // www.jbxue.com // 写入错误日志//格式 : 时间 uri | 错误消息 文件位置 第几行 error_log( implode(' ', $arr)."\r\n",3,'./test.txt','extra'); echo implode(' ', $arr)."\r\n"; } // 捕获fatalError function fatalErrorHandler(){ $e = error_get_last(); switch( $e['type']){ case E_ERROR: case E_PARSE: case E_CORE_ERROR: case E_COMPILE_ERROR: case E_USER_ERROR: errorHandler( $e['type'], $e['message'], $e['file'], $e['line']); break; } } $test = new Test(); // //这里发生一个警告错误,被errorHandler 捕获 $test->index(); // 发生致命错误,脚本停止运行触发 fatalErrorHandler $test = new Tesdt(); $test->index();
posted on 2014-02-25 13:41 阅读( ...) 评论( ...)