[PHP错误异常]①⑥--自定义异常处理器

[PHP错误异常]①⑥--自定义异常处理器_第1张图片
Paste_Image.png

$test.php

函数名称:' . __FUNCTION__ . "
"; echo "异常信息:" . $e->getMessage(); } function exceptionHandler_2($e) { echo "自定义异常处理器2
函数名称:" . __FUNCTION__ . "
"; echo "异常信息:" . $e->getMessage(); } set_exception_handler('exceptionhandler_1'); set_exception_handler('exceptionhandler_2'); //恢复到上一次定义过的异常处理函数(异常处理器1) restore_exception_handler(); //restore_exception_handler(); throw new Exception('测试自定义异常处理器'); echo "this is a test";//不执行 ?>
Paste_Image.png

ExceptionHandler.php

_exception = $e;
    }

    public static function handle(Exception $e)
    {
        $self = new self($e);
        $self->log();
        echo $self;
    }

    public function log()
    {
        error_log($this->_exception->getMessage() . PHP_EOL, 3, $this->_logFile);
    }

    public function __toString()
    {
        $message = <<
        
        

太不可思议啦,出现异常了

联系管理员

EOF; return $message; } } set_exception_handler(array('ExceptionHandler', 'handle')); try { throw new Exception('this is a test'); } catch (Exception $e) { echo $e->getMessage(); } echo "
"; throw new Exception("测试自定义的异常处理器hello world"); ?>
[PHP错误异常]①⑥--自定义异常处理器_第2张图片
Paste_Image.png
Paste_Image.png

你可能感兴趣的:([PHP错误异常]①⑥--自定义异常处理器)