我正在尝试创建一个包含自定义参数的自定义异常。我觉得我在这里做错了什么。基本上,我想处理 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 时都需要它。