Article View: pl.comp.lang.c
Article #272374Re: [SGCL] Odśmiecania współbieżnego ciąg dalszy
From: Sektor van Skijlen
Date: Tue, 04 Mar 2008 19:02
Date: Tue, 04 Mar 2008 19:02
31 lines
2773 bytes
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-mailReferences:
<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