当 C 触发 Lua 时,如何处理 Lua 中的 lua_error()
我有一个 C DLL,我将其加载到 Lua 中。当出现错误时DLL将调用lua_error()。在 Lua 中,我收到一个带有错误描述的消息框。我有什么办法可以更好地处理这个问题吗? Lua 这边有某种 try/catch 之类的吗?
I have a C DLL that I load into Lua. The DLL will call lua_error() when there is an error. In Lua I get a message box with an error description. Is there any way for me to handle this better? Some kind of try/catch on Lua's side or something?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
它的处理方式与您的 Lua 脚本调用
error
没有什么不同。如果你想调用一个可能发出 Lua 错误的函数(无论是 C/C++ 还是 Lua),并且你想处理错误情况而不是仅仅停止,那么你应该使用pcall
来调用功能。It's handled no differently than if your Lua script had called
error
. If you want to call a function that may issue a Lua error (whether C/C++ or Lua), and you want to handle the error condition instead of just stopping, then you should usepcall
to call the function.