首頁 > php教程 > php手册 > 主體

php 普通错误和致命错误捕获及处理

WBOY
發布: 2016-06-06 19:33:02
原創
1063 人瀏覽過

无详细内容 无 ?php//禁止错误输出error_reporting(0);//设置错误处理器set_error_handler('errorHandler');register_shutdown_function('fatalErrorHandler');class Test{public function index(){//这里发生一个警告错误,出发errorHandler echo $undefined

<?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,
			 			);
			 //写入错误日志
                         //格式 :  时间 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();
登入後複製
php 普通错误和致命错误捕获及处理
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門推薦
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!