lua 오류 처리
번역하다
오류 처리
-- 8
function loadfileTest()
f = loadfile("5function.lua")
print("-------------after loadfile------------")
f() --
print("-------------after dingyi--------------")
main()
end
--[[ main , loadfile main
function main()
loadfileTest()
os.exit()
end]]
function errorTest()
local function _foo(a)
if not a then
error{code=1, msg="arg is nil"}
elseif tostring(type(a)) ~= "number" then
error{code=2, msg="arg is not number"}
elseif a%3==0 then
error{code=3, msg="arg is multiple of 3"}
end
io.write(string.format("OK, number a is %d
", a))
return true, "OK"
--return false --test assert
end
local res = assert(_foo(31), "test assert") --assert
--assert(false, "test boolean")
--pcall , pcall ,
local pcallRes, errorMsg = pcall(_foo, "3")
if not pcallRes then
print(errorMsg.code, errorMsg.msg)
end
print("Test xpcall______________________")
local function debug_(eTable)
print("debug_ is called")
print("table from error to debug_:",eTable.code, eTable.msg)
return {code=-1, msg="xpcall return debug_'s return value"}
end
local xpcallRes, _fooRes1, _fooRes2 = xpcall(_foo, debug_, 6)
if not xpcallRes then
-- res false, debug_ , error , debug_
print("debug_ has been called")
else
print("_foo results are ", _fooRes1, _fooRes2)
end
os.exit()
end
--loadfileTest()
errorTest()
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.