私はctypesとC/C++DLLで少し遊んでいます私は非常に単純な「数学」dllを持っています
double Divide(double a, double b)
{
if (b == 0)
{
throw new invalid_argument("b cannot be zero!");
}
return a / b;
}
これまでのところ唯一の問題は機能します。PythonでWindowsError例外が発生し、テキストを取得でき ません。bをゼロにすることはできませ ん。スローする必要のある特別な例外タイプはありますか?または、Pythonコードを変更する必要がありますか?Pythonコード:
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"