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

NAME
     std::system_error - std::system_error

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

	std::system_error is the type of the exception thrown by various library
     functions
	(typically the functions that interface with the OS facilities, e.g. the
     constructor
	of  std::thread)  when	the exception has an associated std::error_code,
     which may be
	reported.

	std-system error-inheritance.svg

					Inheritance diagram

Member functions
	constructor   constructs the system_error object
		      (public member function)
	operator=     replaces the system_error object
		      (public member function)
	code	      returns error code
		      (public member function)
	what	      returns an explanatory string
	[virtual]     (virtual public member function)

     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 <iostream>
      #include <system_error>
      #include <thread>

      int main()
      {
	  try
	  {
	      std::thread().detach(); // attempt to detach a non-thread
	  }
	  catch(const std::system_error& e)
	  {
	      std::cout << "Caught system_error with code "
			   "[" << e.code() << "] meaning "
			   "[" << e.what() << "]\n";
	  }
      }

Possible output:
      Caught system_error with code [generic:22] meaning [Invalid argument]

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

home | help