Re: throw () in der Signatur?
- From: Stefan Reuther <stefan.news@xxxxxxxx>
- Date: Thu, 25 Aug 2005 18:54:11 +0200
Hallo,
Tibor Pausz wrote:
> Stefan Reuther <stefan.news@xxxxxxxx> wrote:
>>Wenn ich das wirklich *weiß*, dann ja. Sprich, wenn die Funktion klein
>>genug ist, dass ich sie überschauen kann.
>
> Also in dem Punkt stimmen wir überein.
>
>>Nur die meisten Funktionen sind eben komplizierter.
>
> Das ist mir bekannt und deshalb gibt es auch relativ wenig throw() im
> Code.
Gut, dann stimmen wir auch da überein.
>>(wer würde z.B. sofort daran denken, dass 's.c_str()' std::bad_alloc
>>werfen darf?)
>
> Wenn man sich mit std::string auseinander gesetzt hat, dann sollte man
> wissen, daß std::string::c_str() dynamisch Objekte erzeugen darf, die
> nur für diesen einen Aufruf gültig sind und der Zeiger nach jeder
> anderen Memberfunction von std::string ungültig ist. Allein aus diesem
> Grund sollte man wissen, was c_str() macht, weil man anderfalls einen
> ungültigen Zeiger benutzt.
Nun, es ist nicht jedermann offensichtlich, warum c_str() (eine
'const'- Memberfunktion) hinter den Kulissen etwas tun muss, das
zu Speicherallokation führt.
Aber ansonsten sind wir dann wieder dort, wo zumindest ich in den Thread
eingestiegen bin: es ist in C++ schlicht nicht praktikabel, *alle*
Ausnahmen zu spezifizieren, weil das einfach viel zu viele wären.
>>Das Core, das mir das Programm bei einer unpassenden Exception-
>>Spezifikation liefert, nützt mir normalerweise nichts.
>
> Darum geht es primär gar nicht sondern um die Tatsache, daß ein
> werfender Destruktor früher oder später dafür sorgt, daß unexpected()
> aufgerufen wird.
Hmmm. Guter Punkt.
Stefan
.
- Follow-Ups:
- Re: throw () in der Signatur?
- From: Tibor Pausz
- Re: throw () in der Signatur?
- References:
- Re: throw () in der Signatur?
- From: Sebastian Biallas
- Re: throw () in der Signatur?
- From: Florian Weimer
- Re: throw () in der Signatur?
- From: Sebastian Biallas
- Re: throw () in der Signatur?
- From: Stephan Menzel
- Re: throw () in der Signatur?
- From: Stefan Reuther
- Re: throw () in der Signatur?
- From: Tibor Pausz
- Re: throw () in der Signatur?
- From: Stefan Reuther
- Re: throw () in der Signatur?
- From: Florian Weimer
- Re: throw () in der Signatur?
- From: Stefan Reuther
- Re: throw () in der Signatur?
- From: Florian Weimer
- Re: throw () in der Signatur?
- From: Stefan Reuther
- Re: throw () in der Signatur?
- From: Tibor Pausz
- Re: throw () in der Signatur?
- From: Stefan Reuther
- Re: throw () in der Signatur?
- From: Tibor Pausz
- Re: throw () in der Signatur?
- From: Stefan Reuther
- Re: throw () in der Signatur?
- From: Tibor Pausz
- Re: throw () in der Signatur?
- From: Stefan Reuther
- Re: throw () in der Signatur?
- From: Tibor Pausz
- Re: throw () in der Signatur?
- Prev by Date: Re: Programmiersprache fuer Low-Level-Kram
- Next by Date: Re: Programmiersprache fuer Low-Level-Kram
- Previous by thread: Re: throw () in der Signatur?
- Next by thread: Re: throw () in der Signatur?
- Index(es):
Relevant Pages
|