Laravel 5.1 自定义异常上的自定义参数


Laravel 5.1 Custom Parameter on Custom Exception

我正在尝试创建一个包含自定义参数的自定义异常。我觉得我在这里做错了什么。基本上,我想处理 Laravel 异常处理文件中的异常,但我需要额外的异常数据来了解谁导致了异常。这就是我到目前为止所拥有的...

<?php
namespace App'Exceptions;
use Exception;
class ApiException extends 'Exception
{
    public $userId;
    public function __construct($userId, $message, $code, Exception $previous)
    {
        parent::__construct($message, $code, $previous);
        $this->userId = $userId;
    }
}

这里的想法是将 userId 传递到异常中,以便我以后可以访问它。但是我遇到了一个问题。在这种情况下,我不知道作为"$previous"变量传入什么......

throw new ApiException($user->id, 'im testing', 200, $previous);

任何帮助将不胜感激。

请参阅有关异常的文档

前一个变量用于异常链接,默认值为 NULL 。可以将其添加到扩展。

<?php
namespace App'Exceptions;
use Exception;
class ApiException extends 'Exception
{
    public $userId;
    public function __construct($userId, $message, $code, Exception $previous = NULL)
    {
        parent::__construct($message, $code, $previous);
        $this->userId = $userId;
    }
}

这样,如果将来需要异常链接,可以继续支持异常链接,但不是每次抛出 ApiException 时都需要它。