Erneutes Auslösen von Exceptions (C++)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Standard-Exception-Behandlung in C++

In manchen Fällen kann eine Exception-Behandlungsroutine eine Exception verarbeiten und dann entweder dieselbe Exception erneut oder eine andere auslösen.

Damit die Behandlungsroutine die aktuelle Exception erneut auslöst, kann einfach die Anweisung throw ohne Parameter angegeben werden. Damit wird der Compiler/die RTL angewiesen, das aktuelle Exception-Objekt erneut auszulösen. Zum Beispiel:

 catch (EIntegerRange &rangeErr) {
 	// Code here to do local handling for the exception
 	throw; // rethrow the exception
 }

Wenn die Behandlungsroutine eine andere Exception auslösen soll, muss einfach die Anweisung throw in der üblichen Weise verwendet werden.

Siehe auch