public member function
<system_error>

std::error_code::category

const error_category& category() const noexcept;
Get category
Returns a reference to the error category associated with the error_code object.

Parameters

none

Return value

A reference to a non-copyable object of a type derived from error_category.

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// error_code observers: value, category and message
#include <iostream>       // std::cout, std::ios
#include <system_error>   // std::system_error
#include <fstream>        // std::ifstream
#include <string>         // std::string

int main()
{
  std::ifstream is;
  is.exceptions (std::ios::failbit);
  try {
    is.open ("unexistent.txt");
  } catch (const std::system_error& e) {
    std::cout << "Exception caught (system_error):\n";
    std::cout << "Error: " << e.what() << '\n';
    std::cout << "Code: " << e.code().value() << '\n';
    std::cout << "Category: " << e.code().category().name() << '\n';
    std::cout << "Message: " << e.code().message() << '\n';
  }
  return 0;
}

Possible output:
Exception caught (system_error):
Error: ios_base::failbit set
Code: 1
Category: iostream
Message: iostream stream error


See also