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.