• thinkphp 如何自定义一个错误处理类


    异常处理

    tp5提供了一个异常处理接管

    例如你新建了一个异常处理接管的类

    - 手册:在config 中 
    
    	// 异常处理handle类 
    	exception_handle'       => 'appcommonlibApiHandleException', 
    	
    	## 我在commonlib 下创建了一个 ApiHandleException 类
    	
    	<?php 
    		namespace appcommonlib;
    		use Exception;
    		use thinkexceptionHandle;
    		use appcommonlibApiException;
    
    
    		// 异常处理接管
    		class ApiHandleException extends Handle
    		{
    			protected $httpCode = 500;
    
    			/** $httpCode http 状态码
    			 *  $e->getMessage() 异常信息
    			 */
    			public function render(Exception $e){
    			
    				// 通过调用 ApiException 来获取当前的错误来源,默认是当是ApiException表明是系统识别的异常错误,默认为其他错误,也就try catch 触发的错误
    				// 检查归属的类型
    				if($e instanceof ApiException){
    					$this->httpCode = $e->httpCode;
    				}
    				
    				// showJson 是我自定义的一个公共函数,用来返回一写json数据
    				// (int status:状态,$e->getMessage():返回的错误信息,[]:返回的数据,$this->httpCode 状态码)
    				return showJson(0,$e->getMessage(),[],$this->httpCode);
    		   }
    
    
    		}
    

    ApiException

    <?php 
    namespace appcommonlib;
    use Exception;
    
    
    // 自定义异常
    class ApiException extends Exception {
    
    	public $message = '';
    	public $httpCode = 500;
    	public $code = 0;
    
    	public function __construct($message='',$httpCode=500,$code=0){
    		$this->httpCode = $httpCode;
    		$this->message = $message;
    		$this->code = $code;
    	}
    
    
    }
  • 相关阅读:
    Java检测文件是否UTF8编码
    Linux: uid/euid/suid的关系
    位移运算
    Springmvc 重定向参数传递方式
    @RequestBody和@RequestParam区别
    jsp页面老提示Multiple annotations found at this line:
    滚动表格代码
    滚动条样式修改
    WebService的四种客户端调用方式
    table元素的td和ul元素li隔行变色
  • 原文地址:https://www.cnblogs.com/ar13/p/9061992.html
Copyright © 2020-2023  润新知