64,651
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
void main()
{
int j, zero;
puts("hello");
__try
{
puts("main()函数的try块中");
zero = 0;
j = 10;
// 下面将导致一个异常
j = 45 / zero;
// 注意,异常出现后,程序控制流又恢复到了这里
//理论上该是这样,为何我在VS环境下测试执行不到这里呢?
printf("这里会执行到吗?值有如何呢?j=%d /n", j);
}
// 注意,这里把zero变量赋值为1,试图恢复错误,
// 当控制流恢复到原来异常点时,避免了异常的再次发生
//理论上该是这样,为何我在VS环境下测试无法恢复错误呢?
__except( (/*puts("in filter"),*/ zero = 1), -1 )
{
puts("main()函数的except块中");
}
puts("world");
}