🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.c
Article #272374

Re: [SGCL] Odśmiecania współbieżnego ciąg dalszy

#272374
From: Sektor van Skijlen
Date: Tue, 04 Mar 2008 19:02
31 lines
2773 bytes
Dnia Tue, 04 Mar 2008 17:30:20 +0100, Sebastian Kaliszewski skrobie:
> Jedrzej Dudkiewicz wrote:
> >> Destruktory z C++ są rozwiązaniem cienkim. Cienkim z jednego,
> >> prozaicznego, ale kluczowego(!), powodu. Z poziomu destruktora nie da się
> >> poinformować o błędzie
> > 
> > Czy możesz podać jakiś spektakularny przykład, gdzie taka potrzeba
> > występuje?

> Oczywiście:

> Np. klasa obsługi (zapisywalnego) pliku z buforowaniem. Przy zamykaniu robi
> się opróżnienie buforów, które oczywiście może się nie udać. Destruktor
> jest tu rozwiązaniem cienkim.


> Konstrukcja using (z C#) czy with: z Pythona jest zdecydowanie lepsza. Bo
> Close() może rzucić wyjątek i ten wyjątek można normalnie obsłużyć.

Przecież destruktor również może rzucić wyjątkiem. Żadnego jawnego zakazu w
C++ na ten temat nie ma. Istnieje tylko jedna reguła: destruktor, który miałby
rzucić wyjątkiem, musi najpierw sprawdzić czy std::uncaught_exception(). Jeśli
tego nie zrobi, program dostanie terminate()m.

Konstrukcja using robi akurat dokładnie to samo.

-- 
//  _    ___         Michal "Sektor" Malecki <sektor(whirl)kis.p.lodz.pl>
\\ L_ |/ `|  /^\ ,()                         <ethouris(O)gmail.com>
// \_ |\  \/ \_/ /\ C++ bez cholesterolu: http://www.intercon.pl/~sektor/cbx
"Java is answer for a question that has never been stated"
Technical Details
Message-ID: <fqk6d0$lqs$2@kujawiak.man.lodz.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!news.nask.pl!news.nask.org.pl!news.man.lodz.pl!not-for-mail
References: <fppvdq$68v$1@inews.gazeta.pl> <fq0od3$5bm$1@inews.gazeta.pl> <fq0qpa$ekv$1@inews.gazeta.pl> <fq0s58$jvv$1@inews.gazeta.pl> <fq0tjl$shn$1@news.vectranet.pl> <fq10ir$8nn$1@inews.gazeta.pl> <fq140s$2u6$1@news.vectranet.pl> <fq164t$3bl$1@inews.gazeta.pl> <fq1mqa$kqq$1@news.vectranet.pl> <fq42jk$k6t$1@bozon2.softax.pl> <fq69s2$33b$1@news.supermedia.pl> <fqjtbf$201$1@bozon2.softax.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!news.nask.pl!news.nask.org.pl!news.man.lodz.pl!not-for-mail
From: Sektor van Skijlen <ethouris@guess.if.gmail.com.is.valid.or.invalid>
Newsgroups: pl.comp.lang.c
Subject: Re: [SGCL]
 Odśmiecania współbieżnego ciąg dalszy
Date: Tue, 4 Mar 2008 19:02:56 +0000 (UTC)
Organization: LODMAN - Metropolitan Area Network in LODZ, Poland
Lines: 31
Sender: Michal Malecki <sektor@student.kis.p.lodz.pl>
Message-ID: <fqk6d0$lqs$2@kujawiak.man.lodz.pl>
References: <fppvdq$68v$1@inews.gazeta.pl> <fq0od3$5bm$1@inews.gazeta.pl> <fq0qpa$ekv$1@inews.gazeta.pl> <fq0s58$jvv$1@inews.gazeta.pl> <fq0tjl$shn$1@news.vectranet.pl> <fq10ir$8nn$1@inews.gazeta.pl> <fq140s$2u6$1@news.vectranet.pl> <fq164t$3bl$1@inews.gazeta.pl> <fq1mqa$kqq$1@news.vectranet.pl> <fq42jk$k6t$1@bozon2.softax.pl> <fq69s2$33b$1@news.supermedia.pl> <fqjtbf$201$1@bozon2.softax.pl>
NNTP-Posting-Host: student.kis.p.lodz.pl
Mime-Version: 1.0
X-Trace: kujawiak.man.lodz.pl 1204657376 22364 212.191.89.21 (4 Mar 2008 19:02:56 GMT)
X-Complaints-To: abuse@man.lodz.pl
NNTP-Posting-Date: Tue, 4 Mar 2008 19:02:56 +0000 (UTC)
User-Agent: tin/1.8.3-20070201 ("Scotasay") (UNIX) (FreeBSD/6.2-RELEASE-p3 (sparc64))
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit