欢迎光临散文网 会员登陆 & 注册

虚幻C++断言check / verify / ensure

2023-07-15 20:37 作者:虚幻TA超神之路  | 我要投稿

断言就是对一个表达式的判断,若判断结果为false,则输出诊断消息并终止程序运行。断言可以提升程序的可读性与安全性,在错误发生时,能够及时终止行为,帮助程序员定位错误。

虚幻引擎为我们提供assert等同项的三个不同族系:check / verify / ensure。

先附上文档的内容,然后我再用比较能看懂的话来解释。

Check族系

check(exp) 出现错误时,会终止程序,但不能确保exp(表达式)执行。checkf(exp,TEXT(...))  与前者的区别就是可以在第二个参数加入打印日志内容。

checkNoEntry()检测有没有进入函数,一旦进入就崩溃

checkNoReentry()检测函数有没有被执行一次以上,超过一次就崩溃

checkNoRecursion()防止递归,无限循环

Verify族系

与check(exp)基本相同,不同之处在于它能保证exp一定执行

Ensure族系

ensure()阻断,不崩溃

ensureMsgf()阻断,不崩溃,打印额外信息


最后,如果引擎报触发一个断点,要记得往上翻下日志,看看诊断。

(完)

虚幻C++断言check / verify / ensure的评论 (共 条)

分享到微博请遵守国家法律