[LCP]Problem with SIGFPE
    Jesús Peco 
    peco at iit.upco.es
       
    Fri Feb 28 16:02:53 UTC 2003
    
    
  
I would be very pleased if you could help tell
me what's wrong with the code below. I'm trying
to catch SIGFPE but without results.
I have a debian woody 3.0 on a PC
with libc6 2.2.5-11.2
and g++ 3.0.4
Thank you very much.
#include <iostream>
#include <csignal>
void catchFPE(int) {
  std::signal(SIGFPE, catchFPE);
  std::cerr << "Float Point Exception. Exit..." << std::endl;
  std::exit(1);
}
int main()
{
 double a=20.0, b=3.0, c;
 std::signal(SIGFPE, catchFPE);
  while(b>-3.0) {
    std::cout << a << "/" << b <<  "=" << a/b << std::endl;
    b=b-1.0;
    c=a/b;
 }
 return 0;
}
I have also tried de "equivalent" in "C" with no results.
#include <stdio.h>
#include <signal.h>
void handler(int sig);
int main()
{
 double i;
 signal(SIGFPE, handler);
....
}
    
    
More information about the linuxCprogramming
mailing list