Hibakezelés osztályokkal PHP 5.1-ben
Sziasztok!
Nemrég frissítettem PHP 5.1-re abban a reményben, hogy a globális hibakezelést ügyesen meg tudom valósítani. A célom az lenne, hogy trigger_error() segítségével eldobok egy hibaosztályt, amely a felhasználónak és a log-file-nak is tartalmazza a hibaüzenetet.
Namost, mint észrevettem, a trigger_error-nak nem tudok osztályt adni paraméternek. Azaz, tudok, de az akkor egy Notice kiséretében stringé alakul.
A hiba megoldását keresve, elkezdtem nézegetni az exception-öket. Először nagyon örültem, hogy van globális exception kezelés, de utána nagyon gyorsan lefagyott a mosoly az arcomról, amikor megláttam, hogy a globális exception kezelés után leáll a script futása.
Java, C++, stb felhasználóknak ez gondolom, szokványos, de nekem a trigger_error arra kellett volna, hogy a felhasználói üzenetek sorához hozzáfűzzek egy üzenetet és feljegyezzem, hogy melyik fájban történt a hiba dobása.
Azon kívül, hogy saját hibakezelést írok hozzá, van erre valami épkézláb megoldás?
Köszi
■ Nemrég frissítettem PHP 5.1-re abban a reményben, hogy a globális hibakezelést ügyesen meg tudom valósítani. A célom az lenne, hogy trigger_error() segítségével eldobok egy hibaosztályt, amely a felhasználónak és a log-file-nak is tartalmazza a hibaüzenetet.
Namost, mint észrevettem, a trigger_error-nak nem tudok osztályt adni paraméternek. Azaz, tudok, de az akkor egy Notice kiséretében stringé alakul.
A hiba megoldását keresve, elkezdtem nézegetni az exception-öket. Először nagyon örültem, hogy van globális exception kezelés, de utána nagyon gyorsan lefagyott a mosoly az arcomról, amikor megláttam, hogy a globális exception kezelés után leáll a script futása.
Java, C++, stb felhasználóknak ez gondolom, szokványos, de nekem a trigger_error arra kellett volna, hogy a felhasználói üzenetek sorához hozzáfűzzek egy üzenetet és feljegyezzem, hogy melyik fájban történt a hiba dobása.
Azon kívül, hogy saját hibakezelést írok hozzá, van erre valami épkézláb megoldás?
Köszi
Megoldottam
Végül is egy egyszerű megoldás mellett döntöttem.
A kód így fog kinézni:
Ha olyan hiba történik, amire pl. 500-as hibával kell visszatérni, akkor dobok egy Exception-t, amelyet a globális Exception-kezelő kap el, amelyik megcsinálja a hibaüzenetet.
Így minden igény ki van elégítve. Namost, a kérdésem: ez így tisztességes (stílusos) megoldás?
Köszi