![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 70 Pomógł: 1 Dołączył: 25.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam mam kolejne pytanie.
Komunikując się z jakąkolwiek bazą danych używamy driverów, one są tak genialne że wyrzucają nam wyjątki. Rozchodzi mi się o sens wyłapywania wyjątku przy każdym zapytaniu. Po dłuższym zastanowieniu doszedłem do wniosku, że to nie ma sensu. W przykładach posłużę się MongoDB.
Takie łapanie błędów ma sens tylko w fazie debugowania jeżeli zapytanie nie działa tak jak chcemy. Jeżeli nasze zapytanie zadziała raz, to nie ma szans, żeby nagle przestało działać i wyrzucać wyjątki. Dlatego jedynym miejscem gdzie wystarczy złapać wyjątek jest:
Mylę się? Ten post edytował tadeurz 9.08.2013, 09:21:17 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 70 Pomógł: 1 Dołączył: 25.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Nie zgodzę się z wami. Wszystko zależy też od tego jak to zakodujemy (i od tego jak stosujemy wyjątki, i jak one powinny być stosowane. Ale jest to temat na który każdy programista ma inne zdanie. Jest wiele tematów na ten temat więc nie poruszajmy tej kwestii)
Dlatego jeżeli raz zaprojektujemy zapytanie to ono nigdy nie wyrzuci wyjątku(*):
*Wyrzuci wyjątek tylko i tylko wtedy gdy jak pisaliście baza padnie W CZASIE wykonywania skryptu, czyli akurat wstrzeli się w setne sekundy, to nie jest ironia BO: dla milionów wyświetleń I can be happen. Crozin napisał co z tym trzeba zrobić (globalny blok try). Jeśli mamy jakiegoś adaptera przez który przechodzą zapytania to on jest dobrym miejscem na tego typu blok. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 17:15 |