🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.objects
Article #14484

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

#14484
From: Przemek Pokrywka
Date: Wed, 05 Apr 2006 16:35
37 lines
2737 bytes
Grzesiek G. napisał(a):
> Miałem do wykonania program walidujący i 
> importujący plik csv do bazy danych. Wyjściem z nieudanej walidacji był 
> raport błędów. Program był zrobiony tak, że przetwarzał plik do 
> struktury obiektowej, którą obrabiał i zapisywał w bazie. Plik był 
> poprawny, jeśli dawał się przekształcić do struktury obiektowej.
> 
> Niestety, rzeczywiste pliki okazały się fatalne. Tworzyło je pare osób w 
>  MS Office i różnych Open Officach, także walidacja stała się ważna. Co 
> gorsza za długo trwała (kilka minut), co bardzo złościło klienta. Była 
> napisana poczętkowo w stylu:
> try
> {
>     zmienna = decimal.Parse(napis);
>     ...
> }
> catch(InvalidFormatException exc)
> {
>     logger.log("Nie można skonwertować ...);
> }
> 
> została przepisana na:
> if(decimal.TryParse(napis)
> {
>     zmienna = decimal.Parse(Napis);
> }
> else
> {
>     logger.log("Nie można skonwertować ...);
> }
> Czas wykonania walidacji skrócił się do kilkudziesięciu sekund.

No to rzeczywiście obsługa wyjątków stanowiła wąskie gardło...
Poznanie tego przypadku było dla mnie ciekawym doświadczeniem.

--
Przemysław Pokrywka
Technical Details
Message-ID: <e10rln$vud$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> <e0k6te$c1b$1@news.onet.pl> <e0r5r0$9nk$1@nemesis.news.tpi.pl> <e0s2ub$brn$1@news.onet.pl> <e10jsb$9i1$1@atlantis.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: Wed, 05 Apr 2006 18:35:55 +0200
Organization: Onet.pl
Lines: 37
Message-ID: <e10rln$vud$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> <e0k6te$c1b$1@news.onet.pl> <e0r5r0$9nk$1@nemesis.news.tpi.pl> <e0s2ub$brn$1@news.onet.pl> <e10jsb$9i1$1@atlantis.news.tpi.pl>
NNTP-Posting-Host: 041.inet.polhost.pl
Mime-Version: 1.0
X-Trace: news.onet.pl 1144254967 32717 80.48.120.41 (5 Apr 2006 16:36:07 GMT)
X-Complaints-To: usenet@news.onet.pl
NNTP-Posting-Date: Wed, 5 Apr 2006 16:36:07 +0000 (UTC)
X-Sender: 5aB4pqMdeQG1O30L902dNmlAzoKeNKcS
In-Reply-To: <e10jsb$9i1$1@atlantis.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