home | help
std::future_error(3)	       C++ Standard Libary	    std::future_error(3)

NAME
     std::future_error - std::future_error

Synopsis
	Defined in header <future>
	class future_error;	    (since C++11)

	The  class  std::future_error defines an exception object that is thrown
     on failure by
	the functions in the thread library that deal with  asynchronous  execu-
     tion and shared
	states	(std::future,  std::promise, etc). Similar to std::system_error,
     this
	exception carries an error code compatible with std::error_code.

	std-future error-inheritance.svg

					Inheritance diagram

Member functions
	constructor   creates a std::future_error object
		      (public member function)
	operator=     replaces the std::future_error object
		      (public member function)
	code	      returns the error code
		      (public member function)
	what	      returns the explanatory string specific to the error code
		      (public member function)

     Inherited from std::logic_error

     Inherited from std::exception

Member functions
	destructor   destroys the exception object
	[virtual]    (virtual public member function of std::exception)
	what	     returns an explanatory string
	[virtual]    (virtual public member function of std::exception)

Example
     // Run this code

      #include <future>
      #include <iostream>

      int main()
      {
	  std::future<int> empty;
	  try
	  {
	      int n = empty.get(); // The behavior is undefined, but
				   // some implementations throw std::future_er-
     ror
	  }
	  catch (const std::future_error& e)
	  {
	      std::cout << "Caught a future_error with code \"" << e.code()
			<< "\"\nMessage: \"" << e.what() << "\"\n";
	  }
      }

Possible output:
      Caught a future_error with code "future:3"
      Message: "No associated state"

See also
	future_errc identifies the future error codes
	(C++11)     (enum)

http://cppreference.com 	   2024.06.10		    std::future_error(3)

home | help