Lumen 7自定义异常问题请教!

Reportable & Renderable 异常#

除了在异常处理器的 reportrender 方法中检查异常类型,你还可以直接在自定义异常上定义 reportrender 方法。当定义了这些方法时,它们会被框架自动调用:

看官方文档,自定义异常上定义 reportrender 方法。当定义了这些方法时,它们会被框架自动调用,但是 Lumen 里貌似不能被条用,请教则么解决?

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
giao哥
最佳答案

file

4年前 评论
汪阿浠 (楼主) 4年前
讨论数量: 4

有没有大神指教下?

4年前 评论

自定义一个异常

app/Exceptions/ApiException.php

class ApiException extends \Exception
{
    public function display()
    {
        return response()->json([
            'code' => 500,
            'message' => $this->getMessage()
        ]);
    }
}

app/Exceptions/Handler.php

public function render($request, Exception $e)
{
     if (method_exists($e, 'display')) {
         return $e->display();
     }
     return parent::render($request, $e);
}

测试

$router->get('/test',function (){
    throw new \App\Exceptions\ApiException('api 异常信息');
});

结果

{
  "code": 500,
  "message": "api异常信息"
}
4年前 评论
汪阿浠 (楼主) 4年前
汪阿浠 (楼主) 4年前
zxr615 (作者) 4年前
giao哥

file

4年前 评论
汪阿浠 (楼主) 4年前
giao哥

file

4年前 评论
汪阿浠 (楼主) 4年前