[SF]Custom Exception Listener - kiedy stosować? |
[SF]Custom Exception Listener - kiedy stosować? |
3.01.2017, 00:55:05
Post
#1
|
|
Grupa: Zarejestrowani Postów: 144 Pomógł: 0 Dołączył: 15.09.2016 Skąd: Warszawa Ostrzeżenie: (0%) |
Custom Exception Listener:
- zamiast łapać wyjątek z komunikatem błędu, robię listener eventu KernelEvents::EXCEPTION, gdzie mam dostęp do obiektu wyjątku. - i w listenerze tworzę response (lub wywołuję kontroler) - tak to robi np TwigBundle, czyli listener wywołoje kontroler, który renderuje twig z errorem. Tylko teraz się zastanawiam czy mam każdy wyjątek w tej sposób obsługiwać. Kiedy catch a kiedy listener? |
|
|
3.01.2017, 13:01:51
Post
#2
|
|
Grupa: Zarejestrowani Postów: 872 Pomógł: 94 Dołączył: 31.03.2010 Ostrzeżenie: (0%) |
Try/catch używasz wtedy, kiedy chcesz wyłapać wyjątek i go jakoś obsłużyć. Są wyjątki przez które nie trzeba wyświetlać strony błędu, bo można np. pójść alternatywną ścieżką lub ponowić próbę. Listner służy raczej do łapania niewyłapanych wyjątków, które obsługuje się w jednolity sposób jak strona błędów.
Generalnie każde niepowodzenie powinno spowodować rzucenie wyjątku, a nawet w prostych aplikacjach jest dużo rzeczy, które pójdą nie tak i teraz to Twoja decyzja, co chcesz z nimi zrobić. |
|
|
3.01.2017, 18:27:10
Post
#3
|
|
Grupa: Zarejestrowani Postów: 144 Pomógł: 0 Dołączył: 15.09.2016 Skąd: Warszawa Ostrzeżenie: (0%) |
bo czytam o exceptions tu i tam i często mowa jest o tym że:
a w Symfony jeb, i od razu jestem na strychu przez kernel::handle w listenerze. Nie powiem, ta opcja bardziej mi pasuje, jest wygodniejsza. Na mój rozum nie ma róznicy kiedy wyjątek jest łapany, Czy złapię go na 2 piętrze czy na strychu, przecież i tak żaden kod nie jest robiony póki nie zostanie złapany wyjątek. A w listenerze wyjątku mogę znowu puścić kod od parteru. (zastrzegam, że mam prawie zerowe doświadczenie w używaniu wyjątków.) |
|
|
3.01.2017, 18:35:34
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 447 Pomógł: 6292 Dołączył: 27.12.2004 |
Juz raz walkowales ten temat tutaj
http://forum.php.pl/index.php?showtopic=25...p;#entry1207487 i Crozin raczej udzielil ci wyczerpujacej odpowiedzi. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
Wersja Lo-Fi | Aktualny czas: 20.04.2024 - 02:43 |