58 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			58 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| 
								 | 
							
								<?php
							 | 
						||
| 
								 | 
							
								// +----------------------------------------------------------------------
							 | 
						||
| 
								 | 
							
								// | ThinkPHP [ WE CAN DO IT JUST THINK ]
							 | 
						||
| 
								 | 
							
								// +----------------------------------------------------------------------
							 | 
						||
| 
								 | 
							
								// | Copyright (c) 2006~2018 http://thinkphp.cn All rights reserved.
							 | 
						||
| 
								 | 
							
								// +----------------------------------------------------------------------
							 | 
						||
| 
								 | 
							
								// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
							 | 
						||
| 
								 | 
							
								// +----------------------------------------------------------------------
							 | 
						||
| 
								 | 
							
								// | Author: 麦当苗儿 <zuojiazi@vip.qq.com> <http://zjzit.cn>
							 | 
						||
| 
								 | 
							
								// +----------------------------------------------------------------------
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace think\exception;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								use think\Exception;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * ThinkPHP错误异常
							 | 
						||
| 
								 | 
							
								 * 主要用于封装 set_error_handler 和 register_shutdown_function 得到的错误
							 | 
						||
| 
								 | 
							
								 * 除开从 think\Exception 继承的功能
							 | 
						||
| 
								 | 
							
								 * 其他和PHP系统\ErrorException功能基本一样
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								class ErrorException extends Exception
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * 用于保存错误级别
							 | 
						||
| 
								 | 
							
								     * @var integer
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    protected $severity;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * 错误异常构造函数
							 | 
						||
| 
								 | 
							
								     * @param integer $severity 错误级别
							 | 
						||
| 
								 | 
							
								     * @param string  $message  错误详细信息
							 | 
						||
| 
								 | 
							
								     * @param string  $file     出错文件路径
							 | 
						||
| 
								 | 
							
								     * @param integer $line     出错行号
							 | 
						||
| 
								 | 
							
								     * @param array   $context  错误上下文,会包含错误触发处作用域内所有变量的数组
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    public function __construct($severity, $message, $file, $line, array $context = [])
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $this->severity = $severity;
							 | 
						||
| 
								 | 
							
								        $this->message  = $message;
							 | 
						||
| 
								 | 
							
								        $this->file     = $file;
							 | 
						||
| 
								 | 
							
								        $this->line     = $line;
							 | 
						||
| 
								 | 
							
								        $this->code     = 0;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        empty($context) || $this->setData('Error Context', $context);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * 获取错误级别
							 | 
						||
| 
								 | 
							
								     * @return integer 错误级别
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    final public function getSeverity()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        return $this->severity;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 |