我正在使用 Laravel 5.2 Job 并将其排队。当它失败时,它会触发作业的 failed() 方法:

class ConvertJob extends Job implements SelfHandling, ShouldQueue
{
    use InteractsWithQueue, DispatchesJobs;


    public function __construct()
    {

    }

    public function handle()
    {
        // ... do stuff and fail ...
    }

    public function failed()
    {
        // ... what exception was thrown? ...
    }
}

failed()方法中,如何访问Job失败时抛出的异常?

我知道我可以在 handle() 中捕获异常,但我想知道它是否可以在 failed() 中访问

最佳答案

这应该工作

public function handle()
{
    // ... do stuff
    $bird = new Bird();

    try {
        $bird->is('the word');
    }
    catch(Exception $e) {
        // bird is clearly not the word
        $this->failed($e);
    }
}

public function failed($exception)
{
    $exception->getMessage();
    // etc...
}

我假设你做了 failed 方法?如果这是 Laravel 中的东西,这是我第一次看到它。

关于php - 如何访问失败的 Laravel 排队作业中抛出的异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40084712/

10-10 23:38