Hibakezelő operátorok
A PHP egy hibakezelÅ‘ operátort támogat, az at jelet (@ - kukac). PHP kifejezés elé Ãrva a kifejezés által esetlegesen generált hibaüzenete(ke)t figyelmen kÃvül hagyja a rendszer.
Ha a track_errors szolgáltatás be van kapcsolva, bármilyen a kifejezés által generált hibaüzenet a $php_errormsg változóba kerül tárolásra. Ez a változó minden hiba esetén felülÃródik, ezért használható információk kinyerése érdekében a kifejezést követÅ‘en ezt minél hamarabb ellenÅ‘rizni kell.
<?php
/* Szándékos állomány megnyitási hiba */
$file = @file ('nem_letezo_allomany') or
die ("Nem lehet megnyitni, a hiba: '$php_errormsg'");
// bármilyen kifejezésre működik, nem csak függvényekre
$ertek = @$tomb[$kulcs];
// nem ad notice szintű hibát, ha a $kulcs kulcs nem létezik
?>
Note: A @ operátor csak kifejezésekre működik. Egyszerű ökölszabályként alkalmazandó, ha valaminek az értelmezett az értéke, akkor az elé a @ operátor is oda tehetÅ‘. Ekképpen például használható változók, függvények és include() hÃvások, állandók neve elÅ‘tt és sok más esetben. Nem használható azonban függvény és osztály definÃciók vagy nyelvi szerkezetek (mint például if és foreach utasÃtások) elÅ‘tt.
Lásd még: error_reporting(), valamint a Hibakezelő és naplózó függvényeket.
Jelenleg a "@" hibakezelÅ‘ operátor kikapcsolja azon kritikus hibák jelentését is, amelyek megszakÃtják a szkript futását. Más problémák mellett, ha függvénybÅ‘l érkezÅ‘ hibaüzenetek elnyelésére használod a "@" jelet, le fog állni a szkript futása, ha nem létezik a megadott függvény vagy elÃrtad annak nevét.