Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

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 exe-
       cution and shared
	  states (std::future, std::promise, etc). Similar to  std::system_er-
       ror, 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::fu-
       ture_error
	    } 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		  2022.07.31		  std::future_error(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::future_error&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help