Namespaces
Variants

std:: system_error

From cppreference.net
Utilities library
Défini dans l'en-tête <system_error>
class system_error ;
(depuis C++11)

std::system_error est le type de l'exception levée par diverses fonctions de la bibliothèque (généralement les fonctions qui interagissent avec les services du système d'exploitation, par exemple le constructeur de std::thread ) lorsque l'exception possède un std::error_code associé, qui peut être rapporté.

cpp/error/exception cpp/error/runtime error std-system error-inheritance.svg

Diagramme d'héritage

Table des matières

Fonctions membres

construit l'objet system_error
(fonction membre publique)
remplace l'objet system_error
(fonction membre publique)
retourne le code d'erreur
(fonction membre publique)
[virtual]
retourne une chaîne explicative
(fonction membre publique virtuelle)

Hérité de std:: exception

Fonctions membres

[virtual]
détruit l'objet exception
(fonction membre publique virtuelle de std::exception )
[virtual]
retourne une chaîne explicative
(fonction membre publique virtuelle de std::exception )

Exemple

#include <iostream>
#include <system_error>
#include <thread>
int main()
{
    try
    {
        std::thread().detach(); // tentative de détachement d'un non-thread
    }
    catch(const std::system_error& e)
    {
        std::cout << "Caught system_error with code "
                     "[" << e.code() << "] meaning "
                     "[" << e.what() << "]\n";
    }
}

Sortie possible :

Caught system_error with code [generic:22] meaning [Invalid argument]
Traductions effectuées : - "Run this code" → "Exécuter ce code" - "attempt to detach a non-thread" → "tentative de détachement d'un non-thread" - "Possible output:" → "Sortie possible :" Les éléments suivants ont été conservés en anglais conformément aux instructions : - Le code C++ (balises `
`)
- Les termes techniques C++ (`system_error`, `thread`, `detach`, etc.)
- La sortie du programme
- Toutes les balises HTML et attributs