Article View: pl.comp.objects
Article #14389Re: Wyrzucenie wyjątku, czy zwrócenie null?
From: Przemek Pokrywka
Date: Tue, 28 Mar 2006 21:19
Date: Tue, 28 Mar 2006 21:19
36 lines
2487 bytes
2487 bytes
Marcin 'Qrczak' Kowalczyk napisał(a): > Przemek Pokrywka <adres@zastrzezony.com> writes: > > >>No dobrze, załóżmy więc, że sytuacja nie jest wyjątkowa - zwrócę NULL. >>Co ma zrobić w tej sytuacji kod wywołujący metodę find? > > > Nie da się odpowiedzieć na tak ogólne pytanie. Zależy, jakie > zachowanie jest po nim oczekiwane. Najprościej ujmując, oczekiwane jest prawidłowe obsłużenie obydwu sytuacji. Najczęściej (choć nie zawsze) oznaczać to będzie występowanie jakiegoś rodzaju identyfikacji (if, try/catch, ...) danego przypadku w okolicach wywołania metody find. >>Odporny na błędy kod sprawdzi oczywiście, czy wartość zwrócona przez >>find nie jest aby NULLem. Czy jednak kod upstrzony wieloma warunkami >>if jest bardziej czytelny i lepiej wyraża intencję autora od kodu >>zawierającego klauzule obsługi wyjątków? > > > Jeśli sytuacja, kiedy elementu nie ma w spisie, jest normalna, to tak. > Jeśli jest wyjątkowa i w takim przypadku należy przerwać dalsze > obliczenia dużej części programu, to nie. (Dobry interfejs spisu > udostępnia takie i takie wyszukiwanie.) > W zasadzie zgodzę się ze wszystkimi Pana wnioskami. Sęk jednak w tym, że niemal nie spotyka się sytuacji w 100% równouprawnionych. Oczywiście, jednak czasem takie się zdarzają i dlatego uważam za słuszną uwagę o dobrym interfejsie spisu. -- Pozdrawiam, Przemysław Pokrywka
Technical Details
Message-ID:
<e0c99v$22v$1@news.onet.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!newsfeed.silweb.pl!news.onet.pl!not-for-mailReferences:
<e09c3r$lg3$1@news.onet.pl> <e09f0h$cis$1@news.task.gda.pl> <e09gjn$737$1@news.onet.pl> <87u09jmujs.fsf@qrnik.zagroda>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!newsfeed.silweb.pl!news.onet.pl!not-for-mail From: Przemek Pokrywka <adres@zastrzezony.com> Newsgroups: pl.comp.objects Subject: Re: Wyrzucenie wyjątku, czy zwrócenie null? Date: Tue, 28 Mar 2006 23:19:58 +0200 Organization: Onet.pl Lines: 36 Message-ID: <e0c99v$22v$1@news.onet.pl> References: <e09c3r$lg3$1@news.onet.pl> <e09f0h$cis$1@news.task.gda.pl> <e09gjn$737$1@news.onet.pl> <87u09jmujs.fsf@qrnik.zagroda> NNTP-Posting-Host: 041.inet.polhost.pl Mime-Version: 1.0 X-Trace: news.onet.pl 1143580800 2143 80.48.120.41 (28 Mar 2006 21:20:00 GMT) X-Complaints-To: usenet@news.onet.pl NNTP-Posting-Date: Tue, 28 Mar 2006 21:20:00 +0000 (UTC) X-Sender: 5aB4pqMdeQG1O30L902dNmlAzoKeNKcS In-Reply-To: <87u09jmujs.fsf@qrnik.zagroda> X-Accept-Language: pl, en-us, en User-Agent: Mozilla Thunderbird 1.0.2 (Windows/20050317) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit