自定义 php 错误捕获代码

本文介绍了一种使用PHP自定义错误处理的方法,通过设置错误处理函数和关闭函数来统一捕获和处理不同类型的运行时错误。
<?php
/**
 * @Author: yangyulong
 * @Date:   2015-12-28 22:09:22
 * @Last Modified by:   yangyulong
 * @Last Modified time: 2015-12-28 22:48:49
 */
error_reporting(0);
//注册错误捕捉函数
register_shutdown_function('jd_fatal_error');

//注册错误处理函数
set_error_handler('jd_error_handler');

function jd_fatal_error(){
	if ($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:
			//所有测错误类型都用下面的函数同意捕获 
				jd_error_handler($e['type'], $e['message'], $e['file'], $e['line']);
			break;
		}
	}
}

/**
 * 捕获错误的函数
 *
 * @method jd_error_handler
 *
 * @param  [type]           $type    [description]
 * @param  [type]           $message [description]
 * @param  [type]           $file    [description]
 * @param  [type]           $line    [description]
 *
 * @return [type]                    [description]
 */
function jd_error_handler($type, $message, $file, $line){
	echo '<b>'.$type.':'.$message.' in '.$file.' on '.$line. ' line .</b><br />';
}

print_r(xx());

// print_r(debug_backtrace());
// print_r(debug_print_backtrace());



转载于:https://my.oschina.net/anziguoer/blog/552551

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值