【问题标题】:What should I include to throw bad_function_call exception?我应该包括什么来抛出 bad_function_call 异常?
【发布时间】:2014-02-15 16:29:57
【问题描述】:

主题中的问题。 我试过这个:

throw new std::bad_function_call("!");

出现下一个错误:

错误 C2039:“bad_function_call”:不是“std”的成员

错误 C2061:语法错误:标识符“bad_function_call”

【问题讨论】:

  • -1:是什么阻止了您简单地用谷歌搜索并从文档中找出来?
  • Documentation。我花了 3 秒钟才找到答案。
  • 对不起,只看cplusplus.com =(会注意到
  • cplusplus.com 很烂。不要使用它。你永远不知道你读到的是真话还是丑陋的谎言。

标签: c++ exception std


【解决方案1】:

This is new in C++11, and comes from the header <functional>。包括它,并祈祷你有一个足够新的编译器。

顺便说一下,您不应该动态分配异常。它是:

  • 毫无意义,
  • 存在内存分配异常的风险,并且
  • 可能会使您的捕捞地点变得过于复杂。

内存通常用于存储直接抛出的异常对象,因此请充分利用它。随便写:

throw std::bad_function_call("!");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-12
    • 2013-05-20
    • 1970-01-01
    • 2011-05-06
    • 1970-01-01
    • 1970-01-01
    • 2020-03-01
    • 1970-01-01
    相关资源
    最近更新 更多