error() 函数在哪个库中?

新手上路,请多包涵

我尝试在我的程序中使用 error() 函数,但它显示“错误:标识符“错误”未定义”。我需要包含一个库吗?这是从一本名为“使用 C++ 的编程原理和实践”的书中找到的。 error() 函数将使用系统错误消息以及作为参数传递给 error() 的字符串来终止程序。

 if (x<=0) error("non-positive x");
if (y<=0) error("non-positive y");
int area1 = area(x,y);

真的,唯一的问题是如果我们发现错误该怎么办。在这里,我们调用了一个函数 error(),我们假设它会做一些明智的事情。实际上,在 std_lib_facilities.h 中,我们提供了一个 error() 函数,默认情况下该函数会以系统错误消息以及我们作为参数传递给 error() 的字符串来终止程序。如果您更喜欢写出自己的错误消息或采取其他措施,您可以捕获 runtime_error(第 5.6.2 节、第 7.3 节、第 7.8 节、第 B.2.1 节)。这种方法适用于大多数学生程序,并且是可用于更复杂的错误处理的样式示例。

原文由 Herman Tam 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 675
1 个回答

它是一个用户定义的函数。如果您查看第 5.6.3 节“错误输入”,您可以看到,他将其定义为:

 void error (string s)

{
  throw runtime_error (s);
}

他在文本中进一步重新定义它以接受两个论点。

原文由 mvanlint 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏