gpt4 book ai didi

lua - 在 Lua 中使用带有 pcall 的断言

转载 作者:行者123 更新时间:2023-12-04 19:51:24 26 4
gpt4 key购买 nike

取决于是否引发错误,pcall(function)可能返回:

成功:true 和函数的返回值[s]。
失败:错误和错误。

在我的例子中,我正在调用一个函数来返回一个表,所以如果没有错误,我将从第二个返回值中获取我的数据,如果出现错误,我将打印管理错误。

我怎样才能用断言做到这一点?

一开始我是这样写的:

local ret, data = pcall(the_function)
assert(ret, "Error: "..data)
-- use data from here on.

问题是即使成功也会评估断言消息,因此当调用成功时,Lua 会提示将字符串与表连接。

这个问题是因为我想使用 assert 并引用错误,但避免使用类似 if not ret then assert(false, "...") end 的东西。 .

最佳答案

尝试这个:

local ret, data = assert(pcall(the_function))

关于lua - 在 Lua 中使用带有 pcall 的断言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18231000/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com