Heim >php教程 >php手册 >php异常处理使用示例

php异常处理使用示例

WBOY
WBOYOriginal
2016-06-13 09:41:38897Durchsuche

复制代码 代码如下:


//禁止错误输出
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,
 );
 //写入错误日志
//格式 :  时间 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();



 
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn