对于异常处理以及优化方面的疑惑
try
{
int *p = NULL;
int a = *p;
int b = 100;
int c= b/0;
delete p;
//throw(1);
AfxMessageBox(L"do not catched");
}
catch(...)
{
AfxMessageBox(L"catched");
}我用的是VS2005, 如果工程的编译选项都在默认的情况下.上面的代码,在DEBUG下,可以catch到异常.在Release下面,catch不到.
在网上查了一些资料,说是有一个/EHA的选项.加上这个选项之后,Release下面,依然无法catch到异常.
如果在release下,去掉优化选项,这样才可以catch到异常.
是编译器把异常处理优化掉了吗?
那加这些异常处理还有什么意义呢?一定要throw才,可以catch吗?
...全文
相关推荐
Java解惑 中文版
**异常处理**:异常处理是Java程序的重要组成部分。书中会讲解如何正确使用try-catch-finally语句,以及如何设计和使用自定义异常。3.
Python星球日记 - Q&A:入门篇常见问题及答疑(建议收藏)
Python编程入门常见问题及答疑(建议收藏)
Doubt
**错误处理**:JavaScript中的异常处理通常涉及`try...catch`语句。理解和正确使用它们可以帮助捕获和处理运行时错误。7.
最新版的Java-解惑
以上知识点只是《Java解惑》中的一部分,通过深入学习和实践,你可以逐步解开Java编程中的种种疑惑,成为一名更优秀的Java开发者。
Java解惑
通过深入学习和实践,可以逐步解开Java编程中的种种疑惑,成为一名更优秀的Java开发者。


