std::system_error::system_error (3) - Linux Manuals

std::system_error::system_error: std::system_error::system_error

NAME

std::system_error::system_error - std::system_error::system_error

Synopsis


system_error( std::error_code ec ); (1) (since C++11)
system_error( std::error_code ec, const std::string& what_arg ); (2) (since C++11)
system_error( std::error_code ec, const char* what_arg ); (2) (since C++11)
system_error( int ev, const std::error_category& ecat ); (3) (since C++11)
system_error( int ev, const std::error_category& ecat, (4) (since C++11)
const std::string& what_arg);
system_error( int ev, const std::error_category& ecat, (4) (since C++11)
const char* what_arg);


Constructs new system error object.
1) Constructs with error code ec
2) Constructs with error code ec and explanation string what_arg. The string returned by what() is guaranteed to contain what_arg as a substring.
3) Constructs with underlying error code ev and associated error category ecat.
4) Constructs with underlying error code ev, associated error category ecat and explanatory string what_arg. The string returned by what() is guaranteed to contain what_arg as a substring.

Parameters


ec - error code
ev - underlying error code in the enumeration associated with ecat
ecat - the category of error
what_arg - explanatory string

Example


Demonstrates how to create a system_error exception from an errno value.
// Run this code


  #include <iostream>
  #include <system_error>


  int main()
  {
      try
      {
          throw std::system_error(EDOM, std::generic_category(), "hello world");
      }
      catch (const std::system_error& ex)
      {
          std::cout << ex.code() << '\n';
          std::cout << ex.code().message() << '\n';
          std::cout << ex.what() << '\n';
      }
  }

Possible output:


  generic:33
  Numerical argument out of domain
  hello world: Numerical argument out of domain