<functional>

std::bad_function_call

class bad_function_call;
调用函数时抛出异常

调用空的 function 对象时抛出的类型。

空的函数对象 是没有目标可调用对象function 对象。

此类派生自 exception。有关标准异常的成员定义,请参阅 exception 类。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// bad_function_call example
#include <iostream>     // std::cout
#include <functional>   // std::function, std::plus, std::bad_function_call

int main () {
  std::function<int(int,int)> foo = std::plus<int>();
  std::function<int(int,int)> bar;

  try {
    std::cout << foo(10,20) << '\n';
    std::cout << bar(10,20) << '\n';
  }
  catch (std::bad_function_call& e)
  {
    std::cout << "ERROR: Bad function call\n";
  }

  return 0;
}

输出

30
ERROR: Bad function call


异常安全

无异常保证:无成员抛出异常。

另见