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

时间:2016-04-26 13:57:52

标签: php exception exception-handling laravel-5 laravel-5.1

我正在尝试使用自定义参数创建自定义异常。我觉得我在这里做错了什么。基本上我想在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);

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:3)

在例外

上查看此documentation

上一个变量用于异常链接,默认值为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时都不需要它。