Ctypes łapiące wyjątek

Gram trochę z ctypami i bibliotekami DLL C / C ++. Mam dość prostą bibliotekę „matematyczną”

<code>double Divide(double a, double b)
{
    if (b == 0)
    {
       throw new invalid_argument("b cannot be zero!");
    }

    return a / b;
}
</code>

Działa jak dotąd jedyny problem, otrzymuję wyjątek WindowsError w Pythonie i nie mogę pobrać tekstub nie może być zerem Czy jest jakiś wyjątkowy typ, który muszę rzucić? Czy może trzeba zmienić kod Pythona? kod Pythona:

<code>from ctypes import *

mathdll=cdll.MathFuncsDll
divide = mathdll.Divide
divide.restype = c_double
divide.argtypes = [c_double, c_double]

try:
    print divide (10,0)
except WindowsError:
    print "lalal"
except:
    print "dada"
</code>

questionAnswers(2)

yourAnswerToTheQuestion