Article View: pl.comp.objects
Article #14385Wyrzucenie wyjątku, czy zwrócenie null?
From: Przemek Pokrywka
Date: Mon, 27 Mar 2006 18:49
Date: Mon, 27 Mar 2006 18:49
32 lines
1808 bytes
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-mailShow 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