分享一个php 的异常处理程序

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了分享一个php 的异常处理程序脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

直接上代码

<PRe class="brush:PHP;"> '."[SHUTDOWN] lvl:" . $lasterror['type'] . " | msg:" . $lasterror['message'] . " | file:" . $lasterror['file'] . " | ln:" . $lasterror['line']."\n"; file_put_contents('./log/'.date("Ymd").'shutdownlog.txt',$error,FILE_APPEND); //友好提示用户 ob_end_clean(); die('对不起,我出错了!'); } } register_shutdown_function('shutdownHandler'); } if(!defined('DEBUG')){

function errorHandler($errno,$errstr = '',$errfile = '',$errline = 0)
{
//写日志
$exception = new \ErrorException($errstr,$errno,$errfile,$errline);
$msg = strval(date("Y-m-d h:i:s")).'=>'.'TyPE:'.getErrTypeName($errno).' '.getMsg($exception);
file_put_contents('./LOG/'.date("Ymd").'error.txt',$msg,FILE_APPEND);
swITch ($errno)
{
case E_NOTICE:return ;
case E_DEPRECATED:return;
}
throw $exception;
}
function getErrTypeName($errno)
{
switch ($errno)
{
case E_NOTICE:return 'E_NOTICE' ;
case E_DEPRECATED:return 'E_DEPRECATED';
default:return $errno;
}
}
function exceptionHandler($ex)
{
$msg = strval(date("Y-m-d h:i:s")).'=>'.getMsg($ex);
file_put_contents('./log/'.date("Ymd").'exception.txt',FILE_APPEND);
}
function getMsg($exception)
{
//获取最准确的异常
while($exception->getPrevIoUs())$exception = $exception->getPrevIoUs();
$msg = ' Message: '.$exception->getMessage();
$msg .= ' File: '.$exception->getFile().':'.$exception->getLine()."\n";
return $msg;
}
set_error_handler('errorHandler',E_ALL);
set_exception_handler('exceptionHandler');
}
?>

脚本宝典总结

以上是脚本宝典为你收集整理的分享一个php 的异常处理程序全部内容,希望文章能够帮你解决分享一个php 的异常处理程序所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。