Re: [GENERAL] division by zero - Mailing list pgsql-hackers

From Merlin Moncure
Subject Re: [GENERAL] division by zero
Date
Msg-id 303E00EBDD07B943924382E153890E5433F7F0@cuthbert.rcsinc.local
Whole thread Raw
Responses Re: [GENERAL] division by zero
List 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 by date:

Previous
From: Tom Lane
Date:
Subject: Re: Roadmap for FE/BE protocol redesign
Next
From: Rod Taylor
Date:
Subject: Re: Roadmap for FE/BE protocol redesign