Kurz gesagt, die Antwort ist ja, es ist möglich.
Beispiel: Wenn die Ausnahmeklasse erfordert, dass ein großes Objekt als ein Feld initialisiert wird, aber nicht genügend Speicher vorhanden ist, um es zuzuweisen, erhalten Sie ein Ausnahmeobjekt, das eine OutOfMemoryException
auslöst.
Ausnahmen sind wie jede andere Klasse und können selbst Ausnahmen auslösen. Es gibt nichts in der Sprache, das es nicht erlaubt.
Ich würde jedoch sagen, dass das Auslösen von Ausnahmen von einer Ausnahmeklasse es schlechte Übung und sollte in der Regel vermieden werden.
Update: (folgende aktualisierte Frage)
Falls Sie ein Ausnahmeobjekt in einem try
Block instanziieren, die catch
wird es fangen (vorausgesetzt, es fängt die geeignete Art von Ausnahme). Wenn Sie es in den Block catch
instanziieren, können Sie dies in einem verschachtelten try{}catch{}
tun - das ist ganz normal für Code in einem catch-Block, der Ausnahmen auslösen kann.
Wie andere gesagt haben - einige Ausnahmen sollten nicht abgefangen werden (zum Beispiel OutOfMemory
oder unerwartet StackOverflow
), da Sie keine Möglichkeit haben, mit ihnen umzugehen.
Können Sie Ihre Frage clearify. Ist es, wenn die Ausnahme neu erstellt wird? Liegt es im Catch-Block? –
Bitte sehen Sie meine Modifikation oben. Vielen Dank. – xport
Denken Sie daran. Nicht jede Ausnahme kann und sollte behandelt werden. Einige sind Anzeichen für falsche Logik oder Fehler. –