🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.delphi
Article #334946

Re: try... finally i except na doczepke ;-)

#334946
From: Michał Zaborowski
Date: Mon, 30 Jan 2012 18:12
33 lines
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-mail
References: <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