trigger_error

ユーザーレベルのエラー/警告/通知メッセージを生成する

説明

true trigger_error(string $message, int $error_level = E_USER_NOTICE)

ユーザーエラーを発生させるために使います。組み込みのエラーハンドラまたは新しいエラーハンドラ (set_error_handler) として設定済みのユーザー定義関数と組み合わせて使うこともできます。

この関数は、実行時の例外に特定の応答を生成する必要がある場合に便利です。

パラメータ

message

このエラーに割り当てられたメッセージ。長さは最大 1024 バイトまでです。1024 バイトを超える部分は切り捨てられます。

error_level

このエラーに割り当てられたエラー型です。E_USER_* の定数のみが指定可能で、デフォルトは E_USER_NOTICE です。

警告

error_level として E_USER_ERROR を指定するのは非推奨となりました。 かわりに、Exception をスローするか、 exit を呼び出してください。

戻り値

常に true を返します。

エラー / 例外

error_levelE_USER_ERROR, E_USER_WARNING, E_USER_NOTICE, E_USER_DEPRECATED のいずれかでない場合、この関数は ValueError をスローします。

変更履歴

バージョン 説明
8.4.0 error_level として E_USER_ERROR を指定するのは非推奨となりました。 かわりに、Exception をスローするか、 exit を呼び出してください。
8.4.0 戻り値の型が、bool ではなく true に変更されました。
8.0.0 不正な error_level を指定すると、ValueError をスローするようになりました。 これより前のバージョンでは、false を返していました。

例1 trigger_error の例

より拡張した例については set_error_handler を参照ください。

<?php
$password = $_POST['password'] ?? '';
if ($password === '') {
  trigger_error("空のパスワードを使用することは安全ではありません", E_USER_WARNING);
}
$hash = password_hash($password, PASSWORD_DEFAULT);
?>

注意

警告

message の HTML エンティティはエスケープされません。エラーをブラウザに表示するのであれば、メッセージに htmlentities を使います。

参考