Article View: pl.comp.objects
Article #14407Re: Wyrzucenie wyjątku, czy zwrócenie null?
From: Przemek Pokrywka
Date: Fri, 31 Mar 2006 21:28
Date: Fri, 31 Mar 2006 21:28
32 lines
2661 bytes
2661 bytes
Grzesiek G. napisał(a):
> Niektórzy uważają, że sytuacje wyjątkowe to te, które nie wynikają z
> dokumentacji. Jeżeli więc dokumentacja mówi, że program ma sprawdzić czy
> plik istnieje, to można powinien być kod typu
>
[...]
Zgaduję, że intencją Kolegi było zaznaczenie, że klient (który płaci i
wymaga) życzy sobie rozgraniczania sytuacji nieodnalezienia pliku od
wystąpienia innych błędów wejścia/wyjścia. Zdanie o kliencie, który
umieszcza w dokumentacji nakaz sprawdzenia występowania pliku budzi we
mnie skrajne emocje - od pokładania się ze śmiechu z absurdalnego żartu
po osłupienie z przerażenia nad jego bezdennym idiotyzmem. Któż na
świecie interesuje się tym, co robi w środku metoda (jeśli tylko
wykonuje swoje zadanie).
Zarówno w przypadku gdy klient życzy sobie rozróżniania tych przypadków
na poziomie sygnatury metody (w jakikolwiek sposób), jak i wtedy, gdy
jest mu to obojętne, daje się to elegancko obsłużyć za pomocą wyjątków.
try {
// operacje na plikach
// ...
} catch (FileNotFoundException notFound) {
// obsługa braku pliku na dysku
} catch (IOException otherIO) {
// obsługa innych błędów wejścia/wyjścia
}
--
Pozdrawiam,
Przemysław Pokrywka
Technical Details
Message-ID:
<e0k6te$c1b$1@news.onet.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.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> <e0b1re$bdc$1@news.onet.pl> <e0c8eh$ur8$1@news.onet.pl> <e0cd04$ljh$1@news.task.gda.pl> <e0ced6$f7g$1@news.onet.pl> <e0dabl$1sv$1@news.task.gda.pl> <87y7ytka81.fsf@qrnik.zagroda> <e0e8n1$ppe$1@news.task.gda.pl> <e0ef6i$h84$1@nemesis.news.tpi.pl> <e0ei45$p93$1@news.task.gda.pl> <e0ejpu$27n$1@news.onet.pl> <e0elnc$qp1$1@news.task.gda.pl> <e0elup$ad0$1@news.onet.pl> <e0gr7t$4h1$1@nemesis.news.tpi.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.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: Fri, 31 Mar 2006 23:28:13 +0200 Organization: Onet.pl Lines: 32 Message-ID: <e0k6te$c1b$1@news.onet.pl> References: <e09c3r$lg3$1@news.onet.pl> <e09f0h$cis$1@news.task.gda.pl> <e09gjn$737$1@news.onet.pl> <e0b1re$bdc$1@news.onet.pl> <e0c8eh$ur8$1@news.onet.pl> <e0cd04$ljh$1@news.task.gda.pl> <e0ced6$f7g$1@news.onet.pl> <e0dabl$1sv$1@news.task.gda.pl> <87y7ytka81.fsf@qrnik.zagroda> <e0e8n1$ppe$1@news.task.gda.pl> <e0ef6i$h84$1@nemesis.news.tpi.pl> <e0ei45$p93$1@news.task.gda.pl> <e0ejpu$27n$1@news.onet.pl> <e0elnc$qp1$1@news.task.gda.pl> <e0elup$ad0$1@news.onet.pl> <e0gr7t$4h1$1@nemesis.news.tpi.pl> NNTP-Posting-Host: 041.inet.polhost.pl Mime-Version: 1.0 X-Trace: news.onet.pl 1143840494 12331 80.48.120.41 (31 Mar 2006 21:28:14 GMT) X-Complaints-To: usenet@news.onet.pl NNTP-Posting-Date: Fri, 31 Mar 2006 21:28:14 +0000 (UTC) X-Sender: 5aB4pqMdeQG1O30L902dNmlAzoKeNKcS In-Reply-To: <e0gr7t$4h1$1@nemesis.news.tpi.pl> 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