Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%)
|
Witam
Jestem w trakcie pisania biblioteki - ujednoliconego API - służącej do obsługi usług rozwiązywania captch. Nie muszę chyba nikogo przekonywać, że dobrze zaprojektowany system wyjątków to podstawa. Niestety nigdy się w to nie bawiłem, tzn. często używam wyjątków, ale nigdy nie próbowałem definiować własnych klas wyjątków. Przeczyłem ten artykuł: http://blogs.msdn.com/b/kcwalina/archive/2...ierarchies.aspx Uznałem że zaproponowany tam podział na "usage exception" oraz "system exception" wydaje się rozsądny. Moj kod wygląda następująco:
(przepraszam za tabulatory ale odzwierciedlają one hierarchę). Pytanie: Co należałoby tu zmienić, czy np. "202: insufficient funds" pasuje bardziej do "SystemLogical_Exception" czy może "Usage_Exception". Czy to co zrobiłem ma jakikolwiek sens? (IMG:style_emoticons/default/smile.gif) Ten post edytował wNogachSpisz 26.02.2013, 19:10:13 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 279 Pomógł: 60 Dołączył: 25.02.2012 Ostrzeżenie: (0%)
|
W tym przykładzie z
jeszcze lepiej by było rzucić BadMethodCallException. A tak w ogóle, to hierarchia wyjątków w PHP jest dziwna, słabo wyjaśniona w manualu i nie wiadomo w zasadzie jak z niej korzystać w spójny sposób (brak zgodności w tej kwestii wśród programistów). Same opisy tych klas są momentami śmieszne - szczególnie, gdy opisują błędy czasu kompilacji i wykonania (sic!). |
|
|
|
wNogachSpisz [PHP]Wyjątki PHP, na przykładzie 26.02.2013, 18:22:09
Crozin 1. W PHP powinieneś rozróżnić dwie podstawowe ... 26.02.2013, 18:36:28
wNogachSpisz Cytat(Crozin @ 26.02.2013, 18:36:28 )... 26.02.2013, 18:57:48
Crozin CytatChyba odwrotnie, LogicalException to błąd uży... 26.02.2013, 19:33:36 ![]() ![]() |
|
Aktualny czas: 26.12.2025 - 13:28 |