trigger_error
funkcja
Generuje błąd użytkownika (E_USER_WARNING, E_USER_NOTICE, E_USER_DEPRECATED). Przydatne do własnego systemu raportowania.
trigger_error(string $message, int $error_level = E_USER_NOTICE): bool
trigger_error pozwala ci ręcznie wyzwolić błąd w kodzie — tak jakby PHP samo go zgłosiło. Domyślnie generuje E_USER_NOTICE, ale możesz wybrać też E_USER_WARNING lub E_USER_DEPRECATED. Wygenerowany błąd przechodzi przez standardowy mechanizm obsługi, więc trafi do funkcji zarejestrowanej przez set_error_handler.
PHP 8.4+: Używanie
E_USER_ERRORwtrigger_errorjest od PHP 8.4 zdeprecjonowane — przekazanie go powoduje własne ostrzeżenie deprecation. Dla błędów krytycznych rzucaj wyjątek (throw new \RuntimeException(...)) zamiast polegać naE_USER_ERROR.
<?php
declare(strict_types=1);
function podziel(int $a, int $b): float
{
if ($b === 0) {
trigger_error('Dzielenie przez zero jest niedozwolone.', E_USER_WARNING);
return 0.0;
}
return $a / $b;
}
echo podziel(10, 0) . PHP_EOL;
// Warning: Dzielenie przez zero jest niedozwolone. in ...
// 0