不可预知的内部异常api数据输出解决方案

<?php

namespace app\api\library;

use Exception;
use think\exception\Handle;

/**
* 自定义API模块的错误显示
*/
class ExceptionHandle extends Handle
{

public function render(Exception $e)
{
// 在生产环境下返回code信息
if (!\think\Config::get('app_debug')) {
$statuscode = $code = 500;
$msg = $e->getMessage();
// 验证异常
if ($e instanceof \think\exception\ValidateException) {
$code = 0;
$statuscode = 200;
$msg = $e->getError();
}
// Http异常
if ($e instanceof \think\exception\HttpException) {
$statuscode = $code = $e->getStatusCode();
}
return json(['code' => $code, 'msg' => $msg, 'time' => time(), 'data' => $e], $statuscode);
}

//其它此交由系统处理
return parent::render($e);
}

}
posted @ 2020-10-08 16:29  小分享大收获  阅读(145)  评论(0)    收藏  举报