Erneutes Auslösen von Exceptions (C++)
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.