pcall 如何使用 举例
时间: 2023-07-20 20:03:18 浏览: 172
c++使用lua脚本的实例
在 Lua 中,`pcall` 函数用于捕获函数执行时的错误,并在出现错误时返回错误信息。以下是 `pcall` 的使用示例:
```lua
function myFunction(a, b)
if type(a) ~= "number" or type(b) ~= "number" then
error("Both arguments must be numbers.", 2) -- 2 表示错误发生的位置
end
return a + b
end
-- 使用 pcall 调用 myFunction
local success, result = pcall(myFunction, 10, "hello")
if success then
print("Result:", result)
else
print("Error:", result)
end
```
在上面的示例中,我们定义了一个函数 `myFunction`,该函数接受两个参数,并返回它们的和。但是,如果其中一个参数不是数字,则会抛出一个错误。我们使用 `pcall` 调用 `myFunction`,并传递了一个数字和一个字符串作为参数。由于第二个参数不是数字,`myFunction` 抛出了一个错误。`pcall` 捕获了这个错误,将 `success` 设置为 `false`,并将错误信息存储在 `result` 中。最后,我们检查 `success` 的值来确定函数是否成功执行,如果成功,我们打印结果,否则打印错误信息。
阅读全文