It was an optional module (fpectl) that got added into Python 1.5. Looks like it has been carried forward pretty much unchanged into the 2.0 release candidate. To use the facility, you need to build python with --with-fpectl, then identify "dangerous" (likely to generate SIGFPE) operations, and surround them with a pair of macros PyFPE_START_PROTECT and PyFPE_END_PROTECT. This has the effect of turning any SIGFPE into a Python exception. Start with Include/pyfpe.h, look for example usage in Objects/floatobject.c. Grep the python source for FPE_ to find the several places where these hooks are located.
[ Paul Dubois wrote ]
About controlling floating-point behavior with Numpy: I think that somewhere buried in the sources Lee Busby had us all set if we would just go through the source and stick in some macro in the right places (this was maybe 3 years ago, hence the accurate and detailed memory dump) but it was on the todo list so long it outlived the death of the todo list.
Anyway, my recollection is if we ever did it then we would have control when things like overflow happen. But we haven't. My last experience of this sort of thing was that it was completely a hardware-dependent thing, and you had to find out from each manufacturer what their routine was and how to call it or what compiler flag to use.
Well, sorry to be so imprecise but I thought it worth mentioning that some steps had been taken even if I don't remember what they were.