zoukankan      html  css  js  c++  java
  • 快速体验,学习lua(一种可嵌入c++,c#,android,object-c等并进行互调支持热更新的脚本)的入门调试系列(3)

    --这里是注释
    --[[
    功能备注:lua快速体验,学习,了解语法(调试,类似try-catch)
    创建时间:2020-6-27
    创建人:pcw
    --]]
    print("--------------------------------");
    print("类似throw exception(该方法抛异常之后,整个代码文件不往下走.)");
     function addTestThrowException(a)
       assert(type(a) == "number", "a 不是一个数字")  --异常之后,后面的代码不执行
       return a*a;
    end
    print(addTestThrowException(5));
    --[[
      输出结果:
      类似throw exception
    25
    ]]
    --print(addTestThrowException("ab"));
    --[[
    解开上面的注释,输出结果:
    lua: Lua-调试.lua:10: a 不是一个数字
    stack traceback:
        [C]: in function 'assert'
        Lua-调试.lua:10: in function 'addTestThrowException'
        Lua-调试.lua:19: in main chunk
        [C]: ?
    ]]
    
    print("--------------------------------");
    print("pcall:类似try-catch但不提供  调试信息");
    print("pcall(addTestThrowException,5)=",pcall(addTestThrowException,5));
    print("pcall(addTestThrowException,"a")=",pcall(addTestThrowException,"a"));
    
    
    
    print("--------------------------------");
    print("xpcall类似try-catch但且提供调试信息  ");
    local function addTestThrowException2(a)
       print(a);
       return a*a;
    end
    
    function processException(err)
       --debug.debug();
       --print(debug.debug());
       --print("ERROR:",err);
       --print(debug.getinfo(1))
       debug.traceback();
       return false;
    end
    print(addTestThrowException2(5));
    xpcall(addTestThrowException2,processException,5);
  • 相关阅读:
    Go 映射 (map)
    Go 字节 (byte) & 文字符号 (rune)
    Go 数组(array) & 切片(slice)
    Go 字符串 (string)
    Go 变量(var) & 常量(const)
    Go 循环 (for)
    Go 函数
    Go package: strings
    Linux crontab (定时任务)
    Python gc
  • 原文地址:https://www.cnblogs.com/taohuadaozhu/p/13198157.html
Copyright © 2011-2022 走看看