QDBusError Class
La classe `QDBusError` représente une erreur reçue du bus D-Bus ou d'applications distantes présentes sur ce bus. En savoir plus...
| En-tête : | #include <QDBusError> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS DBus) target_link_libraries(mytarget PRIVATE Qt6::DBus) |
| qmake : | QT += dbus |
Types publics
| enum | ErrorType { NoError, Other, Failed, NoMemory, ServiceUnknown, …, InvalidInterface } |
Fonctions publiques
| bool | isValid() const |
| QString | message() const |
| QString | name() const |
| void | swap(QDBusError &other) |
| QDBusError::ErrorType | type() const |
Membres publics statiques
| QString | errorString(QDBusError::ErrorType error) |
Description détaillée
Lors de l'utilisation du service de bus D-Bus ou d'applications distantes via D-Bus, un certain nombre de conditions d'erreur peuvent se produire. Ces conditions d'erreur sont parfois signalées par une valeur d'erreur renvoyée ou par un QDBusError.
Les exceptions C++ et Java constituent une analogie valable pour les erreurs D-Bus : au lieu de revenir normalement avec une valeur de retour, les applications distantes et le bus peuvent décider de lever une condition d’erreur. Cependant, l’implémentation de Qt D-Bus n’utilise pas le mécanisme de levée d’exceptions C++ ; vous recevrez donc des objets QDBusError dans la réponse renvoyée (voir QDBusReply::error()).
Les objets `QDBusError` servent à examiner le nom et le message de l’erreur tels qu’ils sont reçus du bus et des applications distantes. Vous ne devez pas créer vous-même de tels objets pour signaler des conditions d’erreur lorsque vous êtes appelé depuis D-Bus : utilisez plutôt ` QDBusMessage::createError()` et ` QDBusConnection::send()`.
Voir également QDBusConnection::send(), QDBusMessage et QDBusReply.
Documentation sur les types de membres
enum QDBusError::ErrorType
Afin de faciliter la vérification des erreurs D-Bus les plus courantes générées par l'implémentation de D-Bus et par le démon du bus lui-même, QDBusError peut être comparé à un ensemble de valeurs prédéfinies :
| Constante | Valeur | Description |
|---|---|---|
QDBusError::NoError | 0 | QDBusError n'est pas valide (c'est-à-dire que l'appel a abouti) |
QDBusError::Other | 1 | QDBusError contient une erreur qui ne fait pas partie des erreurs connues |
QDBusError::Failed | 2 | L'appel a échoué (org.freedesktop.DBus.Error.Failed) |
QDBusError::NoMemory | 3 | Mémoire insuffisante (org.freedesktop.DBus.Error.NoMemory) |
QDBusError::ServiceUnknown | 4 | Le service appelé est inconnu (org.freedesktop.DBus.Error.ServiceUnknown) |
QDBusError::NoReply | 5 | La méthode appelée n'a pas répondu dans le délai imparti (org.freedesktop.DBus.Error.NoReply) |
QDBusError::BadAddress | 6 | L'adresse fournie n'est pas valide (org.freedesktop.DBus.Error.BadAddress) |
QDBusError::NotSupported | 7 | L'appel/l'opération n'est pas pris en charge (org.freedesktop.DBus.Error.NotSupported) |
QDBusError::LimitsExceeded | 8 | Les limites attribuées à ce processus/appel/connexion ont dépassé les valeurs prédéfinies (org.freedesktop.DBus.Error.LimitsExceeded) |
QDBusError::AccessDenied | 9 | L'appel/l'opération a tenté d'accéder à une ressource à laquelle il n'a pas accès (org.freedesktop.DBus.Error.AccessDenied) |
QDBusError::NoServer | 10 | La documentation n'indique pas à quoi cela sert (org.freedesktop.DBus.Error.NoServer) |
QDBusError::Timeout | 11 | La documentation n'indique pas à quoi cela sert ni comment l'utiliser (org.freedesktop.DBus.Error.Timeout) |
QDBusError::NoNetwork | 12 | La documentation n'indique pas à quoi cela sert (org.freedesktop.DBus.Error.NoNetwork) |
QDBusError::AddressInUse | 13 | QDBusServer Tentative de liaison à une adresse déjà utilisée (org.freedesktop.DBus.Error.AddressInUse) |
QDBusError::Disconnected | 14 | L'appel/le processus/le message a été envoyé après la déconnexion de QDBusConnection (org.freedesktop.DBus.Error.Disconnected) |
QDBusError::InvalidArgs | 15 | Les arguments transmis à cet appel/cette opération ne sont pas valides (org.freedesktop.DBus.Error.InvalidArgs) |
QDBusError::UnknownMethod | 16 | La méthode appelée n'a pas été trouvée dans cet objet/cette interface avec les paramètres fournis (org.freedesktop.DBus.Error.UnknownMethod) |
QDBusError::TimedOut | 17 | La documentation ne mentionne pas… (org.freedesktop.DBus.Error.TimedOut) |
QDBusError::InvalidSignature | 18 | La signature de type n'est pas valide ou n'est pas compatible (org.freedesktop.DBus.Error.InvalidSignature) |
QDBusError::UnknownInterface | 19 | L'interface n'est pas reconnue dans cet objet (org.freedesktop.DBus.Error.UnknownInterface) |
QDBusError::UnknownObject | 20 | Le chemin d'accès à l'objet pointe vers un objet qui n'existe pas (org.freedesktop.DBus.Error.UnknownObject) |
QDBusError::UnknownProperty | 21 | La propriété n'existe pas dans cette interface (org.freedesktop.DBus.Error.UnknownProperty) |
QDBusError::PropertyReadOnly | 22 | La définition de la propriété a échoué car celle-ci est en lecture seule (org.freedesktop.DBus.Error.PropertyReadOnly) |
QDBusError::InternalError | 23 | Une erreur interne s'est produite |
QDBusError::InvalidObjectPath | 25 | Le chemin d'accès à l'objet fourni n'est pas valide. |
QDBusError::InvalidService | 24 | Le service demandé n'est pas valide. |
QDBusError::InvalidMember | 27 | Le membre n'est pas valide. |
QDBusError::InvalidInterface | 26 | L'interface n'est pas valide. |
Documentation sur les fonctions des membres
[static] QString QDBusError::errorString(QDBusError::ErrorType error)
Renvoie le nom de l'erreur associée à la condition d'erreur error.
bool QDBusError::isValid() const
Renvoie « true » s'il s'agit d'une condition d'erreur valide (c'est-à-dire s'il y a eu une erreur), sinon « false ».
QString QDBusError::message() const
Renvoie le message associé à cette erreur par la fonction appelée. Les messages d'erreur sont définis par l'implémentation et contiennent généralement un code d'erreur lisible par l'utilisateur, ce qui ne signifie toutefois pas qu'ils soient adaptés à vos utilisateurs finaux.
QString QDBusError::name() const
Renvoie le nom de cette erreur. Les noms d'erreur sont similaires aux noms d'interface D-Bus, comme org.freedesktop.DBus.InvalidArgs.
Voir aussi type().
[noexcept] void QDBusError::swap(QDBusError &other)
Remplace cette erreur par other. Cette opération est très rapide et ne plante jamais.
QDBusError::ErrorType QDBusError::type() const
Renvoie l'ErrorType s relatives à cette erreur.
Voir également ErrorType.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.