|
|
Defined in header <system_error> | ||
conststd::error_category& system_category()noexcept; | (since C++11) | |
Obtains a reference to the static error category object for errors reported by the operating system. The object is required to override the virtual functionstd::error_category::name() to return a pointer to the string"system". It is also required to override the virtual functionstd::error_category::default_error_condition() to map the error codes that match POSIXerrno values tostd::generic_category.
Contents |
(none)
A reference to the static object of unspecified runtime type, derived fromstd::error_category.
On Windows,system_category()
typically maps someWindows error codes to POSIX ones. On POSIX,system_category()
tends to be equivalent tostd::generic_category() except for the name.
#include <iomanip>#include <iostream>#include <string>#include <system_error> int main(){for(intconst code:{EDOM,10001}){conststd::error_condition econd= std::system_category().default_error_condition(code); std::cout<<"Category: "<< econd.category().name()<<'\n'<<"Value: "<< econd.value()<<'\n'<<"Message: "<< econd.message()<<"\n\n";}}
Possible output:
Category: genericValue: 33Message: Numerical argument out of domain Category: systemValue: 10001Message: Unknown error 10001
(C++11) | identifies the generic error category (function)[edit] |
(C++11) | thestd::error_condition enumeration listing all standard<cerrno> macro constants (class)[edit] |