std::system_error:: system_error
From cppreference.net
<
cpp
|
error
|
system error
C++
Utilities library
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Diagnostics library
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
std::system_error
| Member functions | ||||
|
system_error::system_error
|
||||
|
system_error
(
std::
error_code
ec
)
;
|
(1) | (depuis C++11) |
|
system_error
(
std::
error_code
ec,
const
std::
string
&
what_arg
)
;
|
(2) | (depuis C++11) |
|
system_error
(
std::
error_code
ec,
const
char
*
what_arg
)
;
|
(2) | (depuis C++11) |
|
system_error
(
int
ev,
const
std::
error_category
&
ecat
)
;
|
(3) | (depuis C++11) |
|
system_error
(
int
ev,
const
std::
error_category
&
ecat,
const std:: string & what_arg ) ; |
(4) | (depuis C++11) |
|
system_error
(
int
ev,
const
std::
error_category
&
ecat,
const char * what_arg ) ; |
(4) | (depuis C++11) |
|
system_error
(
const
system_error
&
other
)
noexcept
;
|
(5) | (depuis C++11) |
Construit un nouvel objet d'erreur système.
1)
Construit avec le code d'erreur
ec
.
2)
Construit avec le code d'erreur
ec
et la chaîne d'explication
what_arg
. La chaîne retournée par
what()
est garantie de contenir
what_arg
comme sous-chaîne.
3)
Construit avec le code d'erreur sous-jacent
ev
et la catégorie d'erreur associée
ecat
.
4)
Construit avec le code d'erreur sous-jacent
ev
, la catégorie d'erreur associée
ecat
et la chaîne explicative
what_arg
. La chaîne retournée par
what()
est garantie de contenir
what_arg
comme sous-chaîne (en supposant qu'elle ne contient pas de caractère nul intégré).
5)
Constructeur de copie. Initialise le contenu avec celui de
other
. Si
*
this
et
other
ont tous deux le type dynamique
std::system_error
alors
std::
strcmp
(
what
(
)
, other.
what
(
)
)
==
0
.
Paramètres
| ec | - | code d'erreur |
| ev | - | code d'erreur sous-jacent dans l'énumération associée à ecat |
| ecat | - | catégorie d'erreur |
| what_arg | - | chaîne explicative |
| other | - |
autre
system_error
à copier
|
Exemple
Montre comment créer une exception
system_error
à partir d'une valeur
errno
.
Exécuter ce code
#include <iostream> #include <system_error> int main() { try { throw std::system_error(EDOM, std::generic_category(), "FIX ME"); } catch (const std::system_error& ex) { std::cout << "code: [" << ex.code() << "]\n" "message: [" << ex.code().message() << "]\n" "what: [" << ex.what() << "]\n"; } }
Sortie possible :
code: [generic:33] message: [Numerical argument out of domain] what: [FIX ME: Numerical argument out of domain]