60 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
		
		
			
		
	
	
			60 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
|  | <?php | ||
|  | // +----------------------------------------------------------------------
 | ||
|  | // | ThinkPHP [ WE CAN DO IT JUST THINK ]
 | ||
|  | // +----------------------------------------------------------------------
 | ||
|  | // | Copyright (c) 2006~2021 http://thinkphp.cn All rights reserved.
 | ||
|  | // +----------------------------------------------------------------------
 | ||
|  | // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
 | ||
|  | // +----------------------------------------------------------------------
 | ||
|  | // | Author: liu21st <liu21st@gmail.com>
 | ||
|  | // +----------------------------------------------------------------------
 | ||
|  | declare (strict_types=1); | ||
|  | 
 | ||
|  | namespace think; | ||
|  | 
 | ||
|  | /** | ||
|  |  * 异常基础类 | ||
|  |  * @package think | ||
|  |  */ | ||
|  | class Exception extends \Exception | ||
|  | { | ||
|  |     /** | ||
|  |      * 保存异常页面显示的额外Debug数据 | ||
|  |      * @var array | ||
|  |      */ | ||
|  |     protected $data = []; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * 设置异常额外的Debug数据 | ||
|  |      * 数据将会显示为下面的格式 | ||
|  |      * | ||
|  |      * Exception Data | ||
|  |      * -------------------------------------------------- | ||
|  |      * Label 1 | ||
|  |      *   key1      value1 | ||
|  |      *   key2      value2 | ||
|  |      * Label 2 | ||
|  |      *   key1      value1 | ||
|  |      *   key2      value2 | ||
|  |      * | ||
|  |      * @access protected | ||
|  |      * @param string $label 数据分类,用于异常页面显示 | ||
|  |      * @param array  $data  需要显示的数据,必须为关联数组 | ||
|  |      */ | ||
|  |     final protected function setData(string $label, array $data) | ||
|  |     { | ||
|  |         $this->data[$label] = $data; | ||
|  |     } | ||
|  | 
 | ||
|  |     /** | ||
|  |      * 获取异常额外Debug数据 | ||
|  |      * 主要用于输出到异常页面便于调试 | ||
|  |      * @access public | ||
|  |      * @return array 由setData设置的Debug数据 | ||
|  |      */ | ||
|  |     final public function getData() | ||
|  |     { | ||
|  |         return $this->data; | ||
|  |     } | ||
|  | } |