error_get_last

funkcja

Zwraca tablicę z informacjami o ostatnim błędzie PHP (typ, komunikat, plik, linia) lub null, gdy błędu nie było.

error_get_last(): ?array

error_get_last zwraca asocjacyjną tablicę opisującą ostatni błąd zarejestrowany przez PHP, niezależnie od tego, czy był wyświetlony użytkownikowi. Tablica zawiera klucze:

| Klucz | Opis | |---|---| | type | Stała błędu, np. E_WARNING (2), E_NOTICE (8) | | message | Treść komunikatu błędu | | file | Plik, w którym wystąpił błąd | | line | Numer linii |

Jeśli od startu skryptu żaden błąd nie wystąpił, funkcja zwraca null.

<?php
declare(strict_types=1);

// Wywołaj cichą operację z błędem
$wynik = @file_get_contents('/nieistniejacy/plik.txt');

$blad = error_get_last();

if ($blad !== null) {
    echo $blad['message'];
    // wynik: file_get_contents(/nieistniejacy/plik.txt): Failed to open stream: ...
    echo "\nTyp: " . $blad['type']; // np. 2 (E_WARNING)
    echo "\nLinia: " . $blad['line'];
}

Najczęstsze użycie to obsługa funkcji, które wyciszają błędy operatorem @ i zwracają false przy niepowodzeniu — error_get_last pozwala wtedy dowiedzieć się, co dokładnie poszło nie tak.

Uwaga: funkcja zwraca ostatni błąd, a nie listę wszystkich. Jeśli po błędnym wywołaniu nastąpi inne, wcześniejszy błąd zostanie nadpisany.

📘 Naucz się w lekcji →