\App::error 怎么理解这个?

public function register()
{
    if (app()->isLocal()) {
        $this->app->register(\VIACreative\SudoSu\ServiceProvider::class);
    }

    \API::error(function (\Illuminate\Database\Eloquent\ModelNotFoundException $exception) {
        abort(404);
    });
}
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案
  • 首先,你写错了,是\API::error.
  • \API::error 实际上是 \Dingo\Api\Facade\API::error (这个映射关系是在vendor/dingo/api/composer.json中定义的)
        /**
        * Bind an exception handler.
        *
        * @param callable $callback
        *
        * @return void
        */
        public static function error(callable $callback)
        {
            return static::$app['api.exception']->register($callback);
        }
  • 从上面代码可以看到,需要传入的是一个回调函数,而 api.exception 是两个异常处理类的别名,如下
    • \Dingo\Api\Provider\DingoServiceProvider::registerClassAliases
      'api.exception' => [\Dingo\Api\Exception\Handler::class, \Dingo\Api\Contract\Debug\ExceptionHandler::class],
  • 上面就是一个注册异常处理类的操作。官方文档在此
  • 注册了异常处理类,就可以按照我们自定义的回调函数来处理异常了。
5年前 评论
讨论数量: 4
  • 首先,你写错了,是\API::error.
  • \API::error 实际上是 \Dingo\Api\Facade\API::error (这个映射关系是在vendor/dingo/api/composer.json中定义的)
        /**
        * Bind an exception handler.
        *
        * @param callable $callback
        *
        * @return void
        */
        public static function error(callable $callback)
        {
            return static::$app['api.exception']->register($callback);
        }
  • 从上面代码可以看到,需要传入的是一个回调函数,而 api.exception 是两个异常处理类的别名,如下
    • \Dingo\Api\Provider\DingoServiceProvider::registerClassAliases
      'api.exception' => [\Dingo\Api\Exception\Handler::class, \Dingo\Api\Contract\Debug\ExceptionHandler::class],
  • 上面就是一个注册异常处理类的操作。官方文档在此
  • 注册了异常处理类,就可以按照我们自定义的回调函数来处理异常了。
5年前 评论
liyu001989

就是按照你希望的方式处理某个异常

5年前 评论

捕获一些特殊的异常情况,然后你可以根据自己的情况做一些特殊处理

5年前 评论
  • 首先,你写错了,是\API::error.
  • \API::error 实际上是 \Dingo\Api\Facade\API::error (这个映射关系是在vendor/dingo/api/composer.json中定义的)
        /**
        * Bind an exception handler.
        *
        * @param callable $callback
        *
        * @return void
        */
        public static function error(callable $callback)
        {
            return static::$app['api.exception']->register($callback);
        }
  • 从上面代码可以看到,需要传入的是一个回调函数,而 api.exception 是两个异常处理类的别名,如下
    • \Dingo\Api\Provider\DingoServiceProvider::registerClassAliases
      'api.exception' => [\Dingo\Api\Exception\Handler::class, \Dingo\Api\Contract\Debug\ExceptionHandler::class],
  • 上面就是一个注册异常处理类的操作。官方文档在此
  • 注册了异常处理类,就可以按照我们自定义的回调函数来处理异常了。
5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!