master

laravel/framework

Last updated at: 29/12/2023 09:24

MaxAttemptsExceededException.php

TLDR

This file defines the MaxAttemptsExceededException class in the Illuminate\Queue namespace. It is a subclass of the RuntimeException class and contains a property $job and a static method forJob().

Classes

MaxAttemptsExceededException

The MaxAttemptsExceededException class extends the RuntimeException class. It represents an exception that is thrown when a job has been attempted too many times. This exception has a public property $job that holds the job instance.

Methods

No methods are declared in this file.

<?php

namespace Illuminate\Queue;

use RuntimeException;

class MaxAttemptsExceededException extends RuntimeException
{
    /**
     * The job instance.
     *
     * @var \Illuminate\Contracts\Queue\Job|null
     */
    public $job;

    /**
     * Create a new instance for the job.
     *
     * @param  \Illuminate\Contracts\Queue\Job  $job
     * @return static
     */
    public static function forJob($job)
    {
        return tap(new static($job->resolveName().' has been attempted too many times.'), function ($e) use ($job) {
            $e->job = $job;
        });
    }
}