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 exception {
  public:
    
    const char* what() const noexcept override;
  };
}