Re: [GENERAL] division by zero
| От | Merlin Moncure |
|---|---|
| Тема | Re: [GENERAL] division by zero |
| Дата | |
| Msg-id | 303E00EBDD07B943924382E153890E5433F7F0@cuthbert.rcsinc.local обсуждение исходный текст |
| Ответы |
Re: [GENERAL] division by zero
|
| Список | pgsql-hackers |
> The big question is how to fix this on Win32. Is a test in the
integer
> division routines enough? Is there a signal to catch on Win32?
After fighting with the docs a little bit, here is how to handle an
int/0 in a C application.
#include "stdio.h"
#include "excpt.h"
#include "windows.h"
int HandleException( int iExcept );
int main(int argc, char* argv[])
{int b = 0;int a;
puts("hello");__try{ puts("in try"); a = 0/b;}__except( HandleException(GetExceptionCode()) ){ puts("in
except");}puts("world");
}
int HandleException( int iExcept )
{if (iExcept == EXCEPTION_INT_DIVIDE_BY_ZERO) { puts("Handled int/0 exception"); return
EXCEPTION_EXECUTE_HANDLER;}/*call the system handler and crash */return EXCEPTION_CONTINUE_SEARCH ;
}
Merlin
В списке pgsql-hackers по дате отправления: