Article View: pl.comp.objects
Article #14484Re: Wyrzucenie wyjątku, czy zwrócenie null?
From: Przemek Pokrywka
Date: Wed, 05 Apr 2006 16:35
Date: Wed, 05 Apr 2006 16:35
37 lines
2737 bytes
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-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> <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