Unity热更新常采用uLua框架,这里首先分析uLua异常处理,在LuaState类里存在DoFile函数,当使用DoFile调用lua程序时如果发现有语法错误时,将在Unity控制台打印出错误,接下来分析如何实现其异常功能,首先分析uLua源代码
luaL_loadbuffer() 函数将编译lua文件中的lua代码,如果没有错误,则返回0,同时将编译后的程序块压入虚拟栈中。如果不为0,说明有语法错误,然后调用了TrhowExceptionFromError函数,源代码如下:
函数将会从堆栈取出错误消息(代码语法错误信息),然后抛出异常信息。
QQ群:347925343
Unity热更新视频教程:http://edu.51cto.com/course/10541.html
时间: 2024-10-28 10:28:22