Article View: pl.comp.lang.delphi
Article #334946Re: try... finally i except na doczepke ;-)
From: Michał Zaborowski
Date: Mon, 30 Jan 2012 18:12
Date: Mon, 30 Jan 2012 18:12
33 lines
2341 bytes
2341 bytes
On 01/28/2012 09:16 AM, PaSkol wrote: > W dniu 2012-01-28 00:53, R.e.m.e.K pisze: >> try >> jakis kod >> tu nastepuje wyjatek! >> jakis kod >> finally >> czy da sie tutaj wykryc ze program jest w trybie obslugi wyjatku? >> end; > > Pytanie: dlaczego w sekcji finally potrzebujesz analizować czy był > wyjątek. Nasuwa się podejrzenie używania "try .. finally" w sposób > nieprzystający do jego przeznaczenia. > I tak i nie. W Pythonie się dość długo zastanawiali i stwierdzili, że jest sens zrobić osobno finally i except. W sensie jest try i do niego są except i można sobie dodać finally. Finally jest wołane na końcu i zawsze. Załóżmy, że otwieram plik, czytam i przy okazji coś tam sobie dziergam. Duży blok może mieć sens np. ze względów wydajnościowych. Przeglądam plik, wybierając co potrzebniejsze kąski, zamiast wszystko wywlekać do ramu. No i teraz może mi się to wywalić na kilka sposobów, więc daję kilka exceptów - na różne okazje. Problemem jest zamykanie pliku. Mogę dać na koniec, po exceptach, ale to jest słaby pomysł. Jak gdzieś dam re-raise... Czyli powinienem wwalić zwalnianie do wszystkich sekcji except. Można by dać final i tam sprawdzić, czy uchwyt nie jest null i wtedy zwolnić. Wiem doskonały przykład to nie jest, ale mam nadzieję, że udało mi się pokazać o co chodzi... -- Pozdrawiam, Michał Zaborowski (TeXXaS)
Technical Details
Message-ID:
<jg6mil$t7i$1@news.icm.edu.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!.POSTED!not-for-mailReferences:
<1bm36j6wkeihw$.dlg@hell.heaven> <jg0atn$3qv$1@inews.gazeta.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!.POSTED!not-for-mail From: Michał Zaborowski <mzaborow@gazeta.pl> Newsgroups: pl.comp.lang.delphi Subject: Re: try... finally i except na doczepke ;-) Date: Mon, 30 Jan 2012 19:12:36 +0100 Organization: ICM, Uniwersytet Warszawski Lines: 33 Message-ID: <jg6mil$t7i$1@news.icm.edu.pl> References: <1bm36j6wkeihw$.dlg@hell.heaven> <jg0atn$3qv$1@inews.gazeta.pl> NNTP-Posting-Host: 031011176135.warszawa.vectranet.pl Mime-Version: 1.0 X-Trace: news.icm.edu.pl 1327947157 29938 31.11.176.135 (30 Jan 2012 18:12:37 GMT) X-Complaints-To: usenet@news.icm.edu.pl NNTP-Posting-Date: Mon, 30 Jan 2012 18:12:37 +0000 (UTC) User-Agent: Mozilla/5.0 (X11; Linux i686; rv:9.0) Gecko/20111220 Thunderbird/9.0 In-Reply-To: <jg0atn$3qv$1@inews.gazeta.pl> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit