Operatory
Kontroli
Błędów
PHP
obsługuje
obecnie
jeden
operator
kontroli
błędów
:
znak
małpy
(
@
)
.
Jeśli
znak
ten
zostanie
postawiony
przed
dowolnym
wyrażeniem
w
PHP
,
jakiekolwiek
powiadomienia
o
błędach
wygenerowane
przez
to
wyrażenie
zostaną
pominięte
(
nie
będą
wyświetlone
)
.
Jeśli
mechanizm
track_errors
został
włączony
,
jakiekolwiek
powiadomienie
o
błędzie
zostanie
zapisane
do
zmiennej
globalnej
$php_errormsg
.
Należy
jednak
pamiętać
,
że
zawartość
tej
zmiennej
jest
nadpisywana
przy
każdym
błędzie
,
więc
po
wystąpieniu
kolejnego
błędu
w
skrypcie
,
informacja
o
poprzednim
błędzie
jest
tracona
.
Notatka
:
Operator
@
działa
tylko
na
wyrażeniach
.
Tłumacząc
to
łopatologicznie
:
jeśli
da
się
pobrać
wartość
czegoś
,
można
postawić
operator
@
przed
tym
czymś
.
Zgodnie
z
powyższą
regułą
,
można
postawić
@
przed
zmiennymi
,
wywołaniami
funkcji
,
instrukcjami
include(
)
,
stałymi
,
itp
.
Nie
można
stawiać
@
przed
definicjami
funkcji
bądź
klasy
,
lub
strukturami
warunkowymi
,
takimi
jak
if
lub
foreach
,
itd
.
Patrz
także
:
error_reporting(
)
.
Notatka
:
Operator
"
@
"
nie
ukrywa
komunikatów
o
błędach
,
które
są
wynikiem
błędu
parsowania
(parse
error
)
.
Ostrzeżenie
|
Obecnie
operator
kontroli
błędów
"
@
"
wyłączy
wyświetlanie
powiadomienia
o
błędzie
nawet
dla
błędów
krytycznych
,
które
przerwą
wykonywanie
skryptu
.
Oznacza
to
,
że
jeśli
użyjesz
tego
operatora
przed
wywołaniem
funkcji
,
która
jest
nieosiągalna
lub
ma
literówkę
w
nazwie
,
skrypt
przerwie
pracę
nie
powiadamiając
dlaczego
.
|