Article View: pl.comp.objects
Article #14934Re: Wyjątki w konstruktorze
From: Marcin Stefaniak
Date: Wed, 23 Aug 2006 18:29
Date: Wed, 23 Aug 2006 18:29
30 lines
2083 bytes
2083 bytes
Sektor van Skijlen <ethouris@guess.if.gmail.com.is.valid.or.invalid> napisał(a): > > Zwłaszcza w C++ rzucanie wyjątków z konstruktora to nie przelewki - jak nie > > czujesz się na siłach to lepiej tego nie próbuj > > A co w tym trudnego? Wyjątek jak każdy inny. No, z drobnym wyjątkiem: > tworzenie dwóch w jednym wyrażeniu wymaga stosowania std::auto_ptr. No tak, racja - w ogóle wyjątki w C++ to nie przelewki. Konstruktory nie są tu nadzwyczajne pod tym względem, poza tym że muszą po sobie od razu posprzątać, bo nikt inny za nich tego nie zrobi. Co miałem na myśli: że lepiej zabronić używania wyjątków, zwłaszcza dopóki się nie zrozumie (albo pracuje z ludźmi, którzy nie są w stanie pojąć, to czasem ciężko zmienić) - dlaczego Sektor napisał to co napisał - dlaczego poniższy kod nie jest wyjątkowo-bezpieczny: int priority(); void processWidget(auto_ptr<Widget> pw, int priority); .. processWidget(auto_ptr<Widget>(new Widget), priority()); .. rozwiązanie tej zagadki (Item 17 z Effective C++ 3rd Ed) w następnym odcinku... Marcin Stefaniak -- Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Technical Details
Message-ID:
<eci6qt$h30$1@inews.gazeta.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mailReferences:
<1156145142.606030.39100@m73g2000cwd.googlegroups.com> <ece4m4$88j$1@inews.gazeta.pl> <ecesvp$k3h$3@kujawiak.man.lodz.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail From: "Marcin Stefaniak" <matmis.WYTNIJ@gazeta.pl> Newsgroups: pl.comp.objects Subject: Re: Wyjątki w konstruktorze Date: Wed, 23 Aug 2006 18:29:49 +0000 (UTC) Organization: "Portal Gazeta.pl -> http://www.gazeta.pl" Lines: 30 Message-ID: <eci6qt$h30$1@inews.gazeta.pl> References: <1156145142.606030.39100@m73g2000cwd.googlegroups.com> <ece4m4$88j$1@inews.gazeta.pl> <ecesvp$k3h$3@kujawiak.man.lodz.pl> NNTP-Posting-Host: 65.57.245.11 X-Trace: inews.gazeta.pl 1156357789 17504 172.20.26.243 (23 Aug 2006 18:29:49 GMT) X-Complaints-To: usenet@agora.pl NNTP-Posting-Date: Wed, 23 Aug 2006 18:29:49 +0000 (UTC) X-User: matmis X-Forwarded-For: 172.20.6.61 X-Remote-IP: 65.57.245.11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit