void foo( volatile int *x ) { throw 0; } int main() { volatile int x = 0; try { foo( &x ); } catch ( ... ) { } foo( &x ); }