[PHP]Dwa wyjątki czy konieczne? |
[PHP]Dwa wyjątki czy konieczne? |
6.04.2015, 16:50:48
Post
#1
|
|
Grupa: Zarejestrowani Postów: 361 Pomógł: 22 Dołączył: 10.02.2015 Ostrzeżenie: (0%) |
Witam znów
Postanowiłem jednak stworzyć tą nakładkę dla PDO, i mam taki problem:
Jak widać tutaj wyłapuję dwa wyjątki, pierwszy od PDO jeśli w execute coś by nie poszło z zapytaniem(dlatego dałem tymczasowo w tej funkcji), natomiast drugi własny jeśli jakieś tam warunki nie zostaną spełnione, i tutaj pytanie czy ja dobrze myślę teraz z tym przechwytywaniem dwóch wyjątków, jest to poprawne, czy jakoś inaczej to powinienem rozwiązać, zauważyłem też że jak PDOException zamienię na Exception to wyjątek od PDO też zostanie wychwycony(niby logiczne wiadomo) i praktycznie wszystko to mogę rozwiązać tylko
Czy mam jakoś kombinować i tworzyć n wyjątków na różne potrzeby czy inaczej powinienem to rozwiązać? -------------------- |
|
|
6.04.2015, 17:22:02
Post
#2
|
|
Grupa: Zarejestrowani Postów: 342 Pomógł: 23 Dołączył: 20.01.2011 Skąd: Chełm Ostrzeżenie: (0%) |
Wywal drugiego catch-a i po sprawie a w miejsce pierwszego daj exception to wyłapie ci wszystko, jak chcesz mieć coś więcej niż kod z pdo. Nigdy się nie bawiłem by dawać n wątków chyba że kiedyś raz zrobiłem tak że jak wyłapie błąd to wykona inny wątek
coś na podstawie tego kiedyś robiłem ale to w sumie nie był mój pomysł by tak robić tylko profesor tak chciał, a kiedy takiego przykładu używać to sam nie wiem. Ten post edytował olszam 6.04.2015, 17:22:58 |
|
|
6.04.2015, 17:31:50
Post
#3
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
Tutaj musisz sobie sam określić poziom łapanych wyjątków. Albo chcesz wszystkie i zostawiasz Excepion albo tylko PDO.
Łapanie kilka wyjątków ma sens tylko gdy robisz inne akcje dla nich np. NotFoundException będzie robiło redirect 404 gdzieś tam, ale już WrongTokenException będzie Ci waliło np. 400 i fatal error w pysk. Reasumując, zostaw sobie Albo albo. |
|
|
6.04.2015, 17:39:13
Post
#4
|
|
Grupa: Zarejestrowani Postów: 361 Pomógł: 22 Dołączył: 10.02.2015 Ostrzeżenie: (0%) |
O akurat w tym przypadku czy błąd zwrócony przez pdo czy rzucony przeze mnie ma byc obsłużony tak samo wiec sobie zostawię tylko jeden blok catch. Dzięki koledzy
Ten post edytował Fred1485 6.04.2015, 17:39:57 -------------------- |
|
|
Wersja Lo-Fi | Aktualny czas: 19.04.2024 - 12:21 |