Handler
class Handler implements ExceptionHandler (View source)
Traits
Properties
protected Container | $container | The container implementation. |
|
protected Throwable>> | $dontReport | A list of the exception types that are not reported. |
|
protected ReportableHandler[] | $reportCallbacks | The callbacks that should be used during reporting. |
|
protected | $levels | A map of exceptions with their corresponding custom log levels. |
|
protected array | $throttleCallbacks | The callbacks that should be used to throttle reportable exceptions. |
|
protected array | $contextCallbacks | The callbacks that should be used to build exception context data. |
|
protected Closure[] | $renderCallbacks | The callbacks that should be used during rendering. |
|
protected callable|null | $shouldRenderJsonWhenCallback | The callback that determines if the exception handler response should be JSON. |
|
protected callable|null | $finalizeResponseCallback | The callback that prepares responses to be returned to the browser. |
|
protected Closure> | $exceptionMap | The registered exception mappings. |
|
protected bool | $hashThrottleKeys | Indicates that throttled keys should be hashed. |
|
protected Throwable>> | $internalDontReport | A list of the internal exception types that should not be reported. |
|
protected array<int,string> | $dontFlash | A list of the inputs that are never flashed for validation exceptions. |
|
protected bool | $withoutDuplicates | Indicates that an exception instance should only be reported once. |
|
protected WeakMap | $reportedExceptionMap | The already reported exception map. |
Methods
Get the class name of the first parameter of the given Closure.
Get the class names of the first parameter of the given Closure, including union types.
Get the class names / types of the parameters of the given Closure.
Register the exception handling callbacks for the application.
Register a reportable callback.
Register a renderable callback.
Indicate that the given exception type should not be reported.
Indicate that the given exception type should not be reported.
Indicate that the given attributes should never be flashed to the session on validation errors.
Set the log level for the given exception type.
Specify the callback that should be used to throttle reportable exceptions.
Remove the given exception class from the list of exceptions that should be ignored.
Get the default context variables for logging.
Register a closure that should be used to build exception context data.
Prepare the final, rendered response to be returned to the browser.
Prepare the final, rendered response for an exception using the given callback.
Try to render a response from request and exception via render callbacks.
Convert an authentication exception into a response.
Create a response object from the given validation exception.
Convert a validation exception into a response.
Convert a validation exception into a JSON response.
Determine if the exception handler response should be JSON.
Register the callable that determines if the exception handler response should be JSON.
Render an exception to a string using the registered ExceptionRenderer
.
Render an exception to a string using Symfony.
Render the given HttpException.
Register the error template hint paths.
Get the view used to render HTTP exceptions.
Map the given exception into an Illuminate response.
Prepare a JSON response for the given exception.
Do not report duplicate exceptions.
Create a new logger instance.
Details
protected string
firstClosureParameterType(Closure $closure)
Get the class name of the first parameter of the given Closure.
protected array
firstClosureParameterTypes(Closure $closure)
Get the class names of the first parameter of the given Closure, including union types.
protected array
closureParameterTypes(Closure $closure)
Get the class names / types of the parameters of the given Closure.
void
__construct(Container $container)
Create a new exception handler instance.
void
register()
Register the exception handling callbacks for the application.
ReportableHandler
reportable(callable $reportUsing)
Register a reportable callback.
$this
renderable(callable $renderUsing)
Register a renderable callback.
$this
dontReport(array|string $exceptions)
Indicate that the given exception type should not be reported.
Alias of "ignore".
$this
ignore(array|string $exceptions)
Indicate that the given exception type should not be reported.
$this
dontFlash(array|string $attributes)
Indicate that the given attributes should never be flashed to the session on validation errors.
$this
level(Throwable> $type, $level)
Set the log level for the given exception type.
void
report(Throwable $e)
Report or log an exception.
protected void
reportThrowable(Throwable $e)
Reports error based on report method on exception or to logger.
bool
shouldReport(Throwable $e)
Determine if the exception should be reported.
protected bool
shouldntReport(Throwable $e)
Determine if the exception is in the "do not report" list.
$this
throttleUsing(callable $throttleUsing)
Specify the callback that should be used to throttle reportable exceptions.
$this
stopIgnoring(array|string $exceptions)
Remove the given exception class from the list of exceptions that should be ignored.
protected array
buildExceptionContext(Throwable $e)
Create the context array for logging the given exception.
protected array
exceptionContext(Throwable $e)
Get the default exception context variables for logging.
protected array
context()
Get the default context variables for logging.
$this
buildContextUsing(Closure $contextCallback)
Register a closure that should be used to build exception context data.
protected Response
finalizeRenderedResponse(Request $request, Response $response, Throwable $e)
Prepare the final, rendered response to be returned to the browser.
$this
respondUsing(callable $callback)
Prepare the final, rendered response for an exception using the given callback.
protected Throwable
mapException(Throwable $e)
Map the exception using a registered mapper if possible.
protected mixed
renderViaCallbacks(Request $request, Throwable $e)
Try to render a response from request and exception via render callbacks.
protected Response|JsonResponse|RedirectResponse
renderExceptionResponse(Request $request, Throwable $e)
Render a default exception response if any.
protected Response|JsonResponse|RedirectResponse
unauthenticated(Request $request, AuthenticationException $exception)
Convert an authentication exception into a response.
protected Response
convertValidationExceptionToResponse(ValidationException $e, Request $request)
Create a response object from the given validation exception.
protected Response|JsonResponse|RedirectResponse
invalid(Request $request, ValidationException $exception)
Convert a validation exception into a response.
protected JsonResponse
invalidJson(Request $request, ValidationException $exception)
Convert a validation exception into a JSON response.
protected bool
shouldReturnJson(Request $request, Throwable $e)
Determine if the exception handler response should be JSON.
$this
shouldRenderJsonWhen($callback)
Register the callable that determines if the exception handler response should be JSON.
protected Response|JsonResponse|RedirectResponse
prepareResponse(Request $request, Throwable $e)
Prepare a response for the given exception.
protected Response
convertExceptionToResponse(Throwable $e)
Create a Symfony response for the given exception.
protected string
renderExceptionContent(Throwable $e)
Get the response content for the given exception.
protected string
renderExceptionWithCustomRenderer(Throwable $e)
Render an exception to a string using the registered ExceptionRenderer
.
protected string
renderExceptionWithSymfony(Throwable $e, bool $debug)
Render an exception to a string using Symfony.
protected Response
renderHttpException(HttpExceptionInterface $e)
Render the given HttpException.
protected void
registerErrorViewPaths()
Register the error template hint paths.
protected string|null
getHttpExceptionView(HttpExceptionInterface $e)
Get the view used to render HTTP exceptions.
protected Response|RedirectResponse
toIlluminateResponse(Response $response, Throwable $e)
Map the given exception into an Illuminate response.
protected JsonResponse
prepareJsonResponse(Request $request, Throwable $e)
Prepare a JSON response for the given exception.
protected array
convertExceptionToArray(Throwable $e)
Convert the given exception to an array.
void
renderForConsole(OutputInterface $output, Throwable $e)
internal | This method is not meant to be used or overwritten outside the framework. |
Render an exception to the console.
$this
dontReportDuplicates()
Do not report duplicate exceptions.
protected bool
isHttpException(Throwable $e)
Determine if the given exception is an HTTP exception.
protected
mapLogLevel(Throwable $e)
Map the exception to a log level.
protected LoggerInterface
newLogger()
Create a new logger instance.