<分区>
例如,当我在函数中使用 throw
时
try {
// ...
throw MyExceptionType()
// ...
} catch(MyExceptionType& exp){ /* ... */ }
MyExceptionType
分配在哪里?它在堆栈上吗?如果是这样,在我的 catch
block 中修改 exp
是否安全?在 catch
中调用一些其他函数并使用堆栈怎么样?
在类似的情况下,我有:
try {
char my_array[32];
throw my_array;
} catch(char* error_string){ /* ... */ }
error_string
是否指向进程堆栈中的某处?如果我在 catch
block 中调用一些函数,我可以遍历数组吗?