我使用Lua 5.1如何正確調用Lua解釋的異常
我想LUA失敗的計算和打印錯誤,如果我試圖除以零的數字,提高零數爲負功率,或模零。
我所做的是改變計算從定義的東西像這樣
#define luai_numdiv(L,a,b) ((a)/(b))
到這樣的事情
inline lua_number luai_numdiv(lua_State *L, lua_Number a, lua_Number b){
if(b != cast_num(0))
return (a)/(b);
else
luaD_throw(L, LUA_ERRRUN);
}
這並不能在所有的工作。我相信這與luaD_Throw是在lua中失敗計算的不正確方法有關。
我該如何在lua中正確計算失敗?
您確定您使用的是Lua 5.1嗎? 5.1中的'luai_numdiv'沒有收到'L'。它在5.2中。 – lhf
我手動添加它。無論它在哪裏使用。 – user3076936