ErrorHandler
in package
エラーハンドリング処理。
Table of Contents
Properties
- $logger : ILogger
- $isRegistered : bool
- 登録済みか。
Methods
- __construct() : mixed
- receiveError() : never
- エラーを処理する。
- receiveException() : never
- 未ハンドル例外を処理する。
- receiveShutdown() : void
- シャットダウン処理でエラーがあれば処理する。
- register() : void
- エラーハンドラの登録処理。
- trap() : ResultData
- E_ERROR 的なやつらを一時的に補足する。
- catchError() : void
- エラー取得処理(本体)。
- catchErrorCore() : never
- エラー取得処理(呼び出し側)。
Properties
$logger read-only
protected
ILogger
$logger
$isRegistered
登録済みか。
private
bool
$isRegistered
= false
Methods
__construct()
public
__construct(ILogger $logger) : mixed
Parameters
- $logger : ILogger
receiveError()
エラーを処理する。
public
final receiveError(int $errorNumber, string $errorMessage, string $errorFile, int $errorLineNumber) : never
Parameters
- $errorNumber : int
- $errorMessage : string
- $errorFile : string
- $errorLineNumber : int
Return values
neverreceiveException()
未ハンドル例外を処理する。
public
final receiveException(Throwable $throwable) : never
Parameters
- $throwable : Throwable
Return values
neverreceiveShutdown()
シャットダウン処理でエラーがあれば処理する。
public
final receiveShutdown() : void
register()
エラーハンドラの登録処理。
public
final register() : void
明示的に呼び出しが必要。
trap()
E_ERROR 的なやつらを一時的に補足する。
public
static trap(callable $action[, int $errorLevel = E_ALL ]) : ResultData
Parameters
- $action : callable
-
補足したい処理。
- $errorLevel : int = E_ALL
-
補足対象のエラーレベル。 https://www.php.net/manual/errorfunc.constants.php
Tags
Return values
ResultData —結果。補足できたかどうかの真偽値が成功状態に設定されるので処理の結果自体は呼び出し側で確認すること。
catchError()
エラー取得処理(本体)。
protected
catchError(int $errorNumber, string $message, string $file, int $lineNumber, Throwable|null $throwable) : void
Parameters
- $errorNumber : int
- $message : string
- $file : string
- $lineNumber : int
- $throwable : Throwable|null
catchErrorCore()
エラー取得処理(呼び出し側)。
private
catchErrorCore(int $errorNumber, string $message, string $file, int $lineNumber, Throwable|null $throwable) : never
こいつが呼ばれた時点でもはや何もできない。
Parameters
- $errorNumber : int
- $message : string
- $file : string
- $lineNumber : int
- $throwable : Throwable|null