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_ERROR w trigger_error jest 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ć na E_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
📘 Naucz się w lekcji →