Jet\Debug_ErrorHandler_Handler
Každý handler - module, tedy třída která již s chybou něco dělá (zobrazuje, loguje, posílá ...) musí být potomkem této abstraktní třídy.
Více informací o tom jak handler například zaregistrovat se dočtete zde.
Ale ve své podstatě je to jednoduché. Zde je seznam metod.
Metoda | Význam |
---|---|
public static register( ): static |
Statická metoda, která provede zaregistrování daného handleru. |
abstract public getName( ): string; |
Handler se musí nějak jmenovat, aby bylo možné jej identifikovat. Později je možné jej třeba odregistrovat a k tomu slouží právě název. Abstraktní metoda - musíte implementovat. |
abstract public handle( Debug_ErrorHandler_Error $error ): void; |
A zde se to děje :-) Tato metoda se stará o to, co se se zachyceným problémem stane. Co přesně už je na vás. Abstraktní metoda - musíte implementovat. |
abstract public errorDisplayed( ): bool; |
Handler musí dát vědět systému, že se nějakým způsobem postaral o zobrazení chyby (pokud chybu zobrazuje a není to handler určený například k logování).
POZOR! Musí být zaregistrován alespoň jeden handler řešící zobrazení (tedy vrací true z této metody). A to se týká i handleru jako je JetApplication\ErrorHandler_ErrorPage, který ve skutečnosti nezobrazí chybu, ale pouze zástupnou stránku určenou pro koncového uživatele. Proč to tak je? Není nic nepříjemnějšího, když "to" prostě nefunguje a nic "to" neukazuje. Spadne "to" a nic ... Proto systém zjišťuje zda byla závažná chyba ve vývojářském režimu zobrazena a pokud ne, tak se o provizorní zobrazení chyby postará sám. Opakuji, že se jedná pouze o vážné chyby, při zapnutém vývojářském režimu (SysConf_Jet_Debug) a pouze v situaci, kdy nebyl registrován žádný handler, který by chybu zobrazil běžným způsobem. |