gpt4 book ai didi

c++ - 警告函数的调用者必须处理

转载 作者:行者123 更新时间:2023-11-30 03:11:05 25 4
gpt4 key购买 nike

我正在寻找一种方法来设置调用者必须响应的警告。从某种意义上说,我想使用在函数已经完成执行并返回所需值之后发生的延迟异常机制。

SomeObject Foo(int input)
{
SomeObject result;
// do something. oh, we need to warn the caller.

return result;
}

void Main()
{
SomeObject object;
object = Foo(1); // after copy constructor is done I would like an exception to be thrown


}

最佳答案

我认为你必须做出更具体的决定。在给用户结果的同时(以某种方式)警告用户函数是非常不正统的。

例如,您可以返回 std::pair<SomeObject, std::string> ,其中警告在字符串中(如果有)。但人们很容易忽略这一点。

异常不是解决方案:如果您能以有意义的方式继续执行,那不是异常情况。有可能想出一些系统让他们在某处“排队”异常完成,但应该什么时候抛出?为了什么目的?无论如何,它最终肯定会削减剩余的工作。

我想你想要的是 assert . assert条件成立;如果没有,程序员将收到通知并可以相应地处理这种情况。记住,assert是给程序员的,异常是给程序的。

也许如果您给我们一个更具体的例子,我们就能建议最好的行动方案。

关于c++ - 警告函数的调用者必须处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2587625/

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