www.pudn.com > os_example.rar > RAISE.CPP
/* Example for raise Also demonstrates signal */ #include#include #include #include #include void div_zero (int val) { cout << "Divide by zero detected!" << endl; exit (EXIT_FAILURE); } void main () { float numerator = 3.0F, denominator = 0.0F; cout << "Main started." << endl; //Sets interrupt signal handling. if (signal (SIGFPE, div_zero) == SIG_ERR) { perror ("Could not set signal SIGFPR"); abort (); } if (denominator == 0.0F) { cout << "SIGFPE raised." << endl; raise (SIGFPE); } else printf (" The result of the division is %g\n", numerator / denominator); }