gpt4 book ai didi

c++ - C++11下C函数的错误代码?

转载 作者:太空宇宙 更新时间:2023-11-04 02:49:05 25 4
gpt4 key购买 nike

<分区>

我目前正在使用 C++11 下的 C 库,我现在面临的问题是我以前从未遇到过的,它是以一种将是对我的程序的最终用户有意义。

目前在我的 C++ 代码中有 assert(foo()),其中 foo 是这个 C 库中的一个函数,它返回一个 bool 反射(reflect)操作的状态,true 一切正常,false 否则。

我想知道是否有更好的方法来处理这个问题,我想用一些自定义错误代码或不同的字符串/消息替换默认消息。另请注意,我无法修改此库,因此任何可能的解决方案都需要考虑到这一点。

我关心的有两个要点:

  1. assert 是为了当我在 debug 中编译我的代码时,我基本上不会在生产或 Release模式中使用 assertassert 也不是旨在像我目前正在使用它一样使用
  2. 此功能的很大一部分受用户输入的影响很大,因此非常需要在运行时运行的功能。

我该怎么办?我基本上有一个返回 bool 的 C 函数,它不使用任何 C 或 C++ 特定的错误处理函数或宏,我应该将它包装在 try catch 中?

我还考虑到我想避免调用 std::abort 并且我更愿意在失败的情况下清理所有内容。

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