nicht alles liegt im Stack.
zu Strings, dynamischen Arrays, Objekten und Derartigem liegt z.B. nur ein Pointer dahin eventuell dort, aber es steht nirgendwo, was ein Pointer, oder z.B. ein "normaler" Integer ist.
einige Variablen, wie z.B. nur kurzzetig genutzte Integer liegen aufgrund einer Optimierung einfach nur in den Registern.
....
Also, was genau willst du denn nun bewirken?
Ein Weg, wo man trotz
Exception Parameter aus 'ner Funktion rausbekommt, sind Var-Parameter und nicht-lokale Variablen.
Diese werden ja direkt geändert und bleiben dann bei der
Exception natürlich im letzten Zustand.