Help me about "Floating invalid operation" exception
我现在编写的一个程序读取仪表的实时数据,我读取上来的数据是 double 。但我发现 double 有时会是一个无效的值(即无效的double值,INF)。
我用 try - catch(...) 捕捉到了这个异常,但我后继的程序运行中显得很异常,明显的不对,我不知道如何清除这个异常!是否有关 SEH ?
产生异常数的程序如下:
float tmp;
WORD t[2];
t[0] = 64204;
t[1] = 32641;
memcpy(&tmp, t, 4);
此时出来的 tmp 即为无效的 float。再进行任何对 tmp 的处理就会出错。问题就是如何如何捕捉并清除。