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>