[C++] Exception - Frage

Hallo leuts,

ich hab mal wieder eine Frage:

Es geht diesmal um die Exeption behandlung.
Ich las das die execption Klasse den Member who() kennt um eine
Fehlermeldung zu generieren. Meine Frage ist nun wie ich das
einsetzen kann ? Ich würde gerne im catch Block alles abfangen
catch (…) - aber wie bekomme ich die Klasse da hinein ?

Im Buch ist das beispiel so aufgebaut:

try{…}
catch(const exeption & error)
{

}

Das würde alle Exception abfangen (die im ANSI beschrieben sind -
ich möchte mich auf reinen Standard bewegen) das klappt aber
nicht. Eine Exeption DivisionByZero wird z.B. nicht abgefangen.

Danke im vorraus

  • Michael -

Hallo Michael,

try{…}
catch(const exeption & error)
{

}

Mit dieser Anweisung werden nur die Exception abgefangen,
die vom Typ exception oder von einer davon abgeleiteten
Klasse sind.

Eine Exeption DivisionByZero wird z.B. nicht
abgefangen.

Die einzige Erklärung, die mir auf die Schnelle einfällt ist,
daß DivisionByZero nicht von der Klasse exception abgeleitet
worden ist.

Wenn Du nur alle Exception abfangen willst (diese aber nicht
weiter verarbeiten), dann hilft Dir folgender Code weiter:

try
{
}
catch (exception& error)
{
// hier Verarbeitung
}
catch (…)
{
// hier weißt Du, daß etwas passiert ist, aber nicht was genau
}

Gruß,
Lydia