转换为Laravel例外?

时间:2017-05-11 22:26:12

标签: php laravel laravel-5 laravel-5.4

目前在一个软件包中,它有HttpException例外

namespace DigitalOceanV2\Exception;

class HttpException extends \RuntimeException implements ExceptionInterface
{

}

有没有办法转换它Laravel HttpResponseException使用而不从包中触及该异常?

1 个答案:

答案 0 :(得分:2)

您可以捕获该异常并重新抛出它。

app/Exceptions/Handler.php文件中。

public function render($request, Exception $exception)
{
    if ($exception instanceof \DigitalOceanV2\Exception) {
        throw new HttpResponseException;
    }

    return parent::render($request, $exception);
}

编辑:我没有对此进行测试,但根据the exception class。您可以将响应作为参数传递给构造函数。所以你应该能够做到这一点:

$response = response($exception->getMessage());
throw new HttpResponseException($response);