php异常处理使用示例

php异常处理使用示例

这篇文章主要介绍了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,

);

//写入错误日志

//格式 : 时间 uri | 错误消息 文件位置 第几行

error_log(implode(' ',$arr)."rn",3,'./test.txt','extra');

echo implode(' ',$arr)."rn";

}

//捕获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异常处理使用示例