标签:修改 url message throw response xtend 数组 class wait
App\Exceptions\CustomException.php
<?php
namespace App\Exceptions;
use Exception;
/**
* 王召波自定义异常基类
* Class BaseException
* @package App\Exceptions
*/
class CustomException extends Exception
{
/**
* 状态码
* @var int|mixed
*/
public $code = 200;
/**
* 错误具体信息
* @var mixed|string
*/
public $message = ‘json‘;
/**
* 构造函数,接收关联数组
* BaseException constructor.
* @param array $params
*/
public function __construct($params = [])
{
parent::__construct();
if (!is_array($params)) {
return ;
}
if (array_key_exists(‘code‘, $params)) {
$this->code = $params[‘code‘];
}
if (array_key_exists(‘msg‘, $params)) {
$this->message = $params[‘msg‘];
}
}
public function report()
{
//
}
public function render($request)
{
$result = [
‘code‘ => $this->code,
‘msg‘ => $this->message,
];
//记录日志
// Log::error($this->message);
if($request->ajax()){
return response()->json($result)->setEncodingOptions(JSON_UNESCAPED_UNICODE);
}else{
$params = [
‘msg‘ => $this->message,
‘wait‘ => 3,
‘url‘ => ‘javascript:history.back(-1);‘,
];
return response()->view(‘common.error‘, $params, 500);
}
}
}
App\Exceptions\CustomException.php
<?php
namespace App\Exceptions;
/**
* 王召波自定义异常基类
* Class BaseException
* @package App\Exceptions\Custom
*/
class CustomException extends \Exception
{
/**
* 状态码
* @var int|mixed
*/
public $code = 200;
/**
* 错误具体信息
* @var mixed|string
*/
public $message = ‘json‘;
/**
* 构造函数,接收关联数组
* BaseException constructor.
* @param array $params
*/
public function __construct($params = [])
{
parent::__construct();
if (!is_array($params)) {
return ;
}
if (array_key_exists(‘code‘, $params)) {
$this->code = $params[‘code‘];
}
if (array_key_exists(‘msg‘, $params)) {
$this->message = $params[‘msg‘];
}
}
}
App\Exceptions\Handler.php
public function render($request, Exception $exception)
{
if ($exception instanceof CustomException) {
// 如果是自定义的异常
$this->code = $exception->code;
$this->message = $exception->message;
$result = [
‘code‘ => $this->code,
‘msg‘ => $this->message,
];
//记录日期
Log::error($exception->message);
if($request->ajax()){
return response()->json($result)->setEncodingOptions(JSON_UNESCAPED_UNICODE);
}else{
$params = [
‘msg‘ => $this->message,
‘wait‘ => 3,
‘url‘ => ‘javascript:history.back(-1);‘,
];
return response()->view(‘common.error‘, $params, 500);
}
}
return parent::render($request, $exception);
}
throw new \App\Exceptions\CustomException([‘msg‘=>‘王召波自定义错误‘,‘code‘=>400]);
标签:修改 url message throw response xtend 数组 class wait
原文地址:https://www.cnblogs.com/wangzhaobo/p/14437370.html