🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.objects
Article #14385

Wyrzucenie wyjątku, czy zwrócenie null?

#14385
From: Przemek Pokrywka
Date: Mon, 27 Mar 2006 18:49
32 lines
1808 bytes
Witam,


Mam system, zawierający m.in. klasy:

class Person
	getAge : int

class PersonFinder
	find(name : string) : Person


Metoda find klasy PersonFinder jest wywoływana bardzo często w różnych 
sytuacjach, z kodu pisanego przez różnych autorów. Zdarza się, że kod 
korzystający z tej metody kolekcjonuje zwracane przez nią obiekty Person 
na wypadek potrzeby ich przyszłego użycia.
W tej chwili, gdy metoda nie odnajdzie osoby o zadanym nazwisku, zwraca 
wartość null.

Jak Państwa zdaniem powinna wyglądać optymalna obsługa sytuacji 
wyjątkowej przez tą metodę, gdyby pisać ten system na nowo?
- Czy najlepiej zwracać by wartość null, jak w tej chwili?
- Czy wyrzucać wyjątek?
- Zakładając, że system pisany byłby w Javie, jakiego typu wyjątek - 
checked, czy unchecked?

Z pewnych względów wolałbym nie stosować tu wzorca Null Object (Woolf).

Zapraszam do podzielenia się swoimi uwagami


Przemysław Pokrywka
Technical Details
Message-ID: <e09c3r$lg3$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

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: Wyrzucenie wyjątku, czy zwrócenie
 null?
Date: Mon, 27 Mar 2006 20:49:11 +0200
Organization: Onet.pl
Lines: 32
Message-ID: <e09c3r$lg3$1@news.onet.pl>
NNTP-Posting-Host: 041.inet.polhost.pl
Mime-Version: 1.0
X-Trace: news.onet.pl 1143485373 22019 80.48.120.41 (27 Mar 2006 18:49:33 GMT)
X-Complaints-To: usenet@news.onet.pl
NNTP-Posting-Date: Mon, 27 Mar 2006 18:49:33 +0000 (UTC)
X-Sender: 5aB4pqMdeQG1O30L902dNmlAzoKeNKcS
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