Tworze sobie pochodne klasy Exception:
MessageException (mniej powazne bledy)
FatalException (powazny blad zatrzymujacy dzialanie aplikacji)
MessageException chcialbym uzywac np. do problemow typu: Niepoprawne ID, Nie ma takiego rekordu w bazie, etc., a FatalException do sytuacji gdy np. nie ustanowiono poleczenia z db
<?php class DB { // laczy z baza, w razie niepowodzenia zwraca: throw new FatalException( 'Niestety nie ustanowiono polaczenia z baza!' ); } class Users { function __construct( $iID ) { { throw new MessageException( 'Niepoprawne ID' ); } } ?>
<?php $oDB = new DB; //laczenie try { // wyswietlanie podstawowego widoku (header) $oU = new Users( 'a' ); // wyswietlanie podstawowego widoku (footer) } catch( Exception $oE ) { } ?>
Efektem tego ma byc ze jezeli nie polaczy sie z baza dostanie na ekranie tylko komunikat o bledzie (FatalException), zas jesli wystapi blad w klasie Users (MessageException) to wsywietlony zostanie szablon z komunikatem o bledzie (header, komunikat, footer)
Jak to rozwiazac?