class ErrorHandling implements ExtenderInterface
Methods
<p>Define the corresponding HTTP status code for a well-known error type.</p>
<p>Define the internal error type for a specific exception class.</p>
<p>Register a handler with custom error handling logic.</p>
Details
at
line 37
ErrorHandling
status(string $errorType, int $httpStatus)
<p>Define the corresponding HTTP status code for a well-known error type.</p>
<p>This can be used to configure the status code (second parameter) to be used for the error response when encountering an exception with a certain type (first parameter). This type can be provided by the exception class itself (if it implements {\Flarum\Foundation\KnownError}), or explicitly defined by using the {\Flarum\Extend\type} method (useful for exception classes not under your control).</p>
at
line 57
ErrorHandling
type(string $exceptionClass, string $errorType)
<p>Define the internal error type for a specific exception class.</p>
<p>If the exception class is under your control, you should prefer having the exception implement our {\Flarum\Foundation\KnownError} interface and define the type there. This method should only be used for third-party exceptions, e.g. when integrating another package that already defines its own exception classes.</p>
at
line 82
ErrorHandling
handler(string $exceptionClass, string $handlerClass)
<p>Register a handler with custom error handling logic.</p>
<p>When Flarum's default error handling is not enough for you, and the other methods of this extender don't help, this is the place where you can go wild! Using this method, you can define a handler class (second parameter) that will be responsible for exceptions to a certain type (first parameter).</p> <p>The handler class must implement a handle() method (surprise!), which returns a {\Flarum\Foundation\ErrorHandling\HandledError} instance. Besides the usual type and HTTP status code, such an object can also contain "details" - arbitrary data with more context for to the error.</p>
at
line 104
ErrorHandling
reporter(string $reporterClass)
<p>Register an error reporter.</p>
<p>Reporters will be called whenever Flarum encounters an exception that it does not know how to handle (i.e. none of the well-known exceptions that have an associated error type). They can then e.g. write the exception to a log, or send it to some external service, so that developers and/or administrators are notified about the error.</p> <p>When passing in a reporter class, make sure that it implements the {\Flarum\Foundation\ErrorHandling\Reporter} interface.</p>