🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.objects
Article #14407

Re: Wyrzucenie wyjątku, czy zwrócenie null?

#14407
From: Przemek Pokrywka
Date: Fri, 31 Mar 2006 21:28
32 lines
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-mail
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>

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