An exception of type bad_function_call is thrown by function::operator() ([func.wrap.func.inv]) when the function wrapper object has no target.
namespace std { class bad_function_call : public std::exception { public: // [func.wrap.badcall.const], constructor: bad_function_call() noexcept; }; } // namespace std
Effects: constructs a bad_function_call object.