![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 640 Pomógł: 28 Dołączył: 13.02.2003 Skąd: Międzyrzecz/Poznań Ostrzeżenie: (0%) ![]() ![]() |
Zastanawiam sie jak rozwiazac problem z wyjatkami, otoz:
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
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? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 116 Pomógł: 119 Dołączył: 10.05.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
... chyba chodzi o to, że po wywołaniu wyjątku typu MessageException() ma się gdzieś zapisać informacja o błędzie, i program ma wrócić do dalszego wywoływania kodu. Natomiast w przypadku wywołania FatalException() ma przerwać działanie aplikacji.
Niestety nie da się (albo nie znam sposobu) zrobić to w taki prosty sposób, Ponieważ wyrzucenie wyjątku to wyrzucenie wyjątku, więc program i tak pójdzie do obsługi... a stamtąd raczej nie ma prostego powrotu. Chyba lepszym wyjściem będzie po prostu użycie jakiegoś innego rodzaju klasy do notowania MessageException(). Coś na styl:
Po prostu ją wywołujesz a potem skrypt działa dalej. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 22:12 |