QDBusError Class
Die Klasse QDBusError stellt einen Fehler dar, der vom D-Bus oder von entfernten Anwendungen, die im Bus gefunden wurden, empfangen wurde. Mehr...
Kopfzeile: | #include <QDBusError> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS DBus) target_link_libraries(mytarget PRIVATE Qt6::DBus) |
qmake: | QT += dbus |
Öffentliche Typen
enum | ErrorType { NoError, Other, Failed, NoMemory, ServiceUnknown, …, InvalidInterface } |
Öffentliche Funktionen
bool | isValid() const |
QString | message() const |
QString | name() const |
void | swap(QDBusError &other) |
QDBusError::ErrorType | type() const |
Statische öffentliche Mitglieder
QString | errorString(QDBusError::ErrorType error) |
Detaillierte Beschreibung
Beim Umgang mit dem D-Bus-Busdienst oder mit entfernten Anwendungen über D-Bus kann eine Reihe von Fehlerbedingungen auftreten. Diese Fehlerzustände werden manchmal durch einen zurückgegebenen Fehlerwert oder durch einen QDBusError signalisiert.
C++- und Java-Ausnahmen sind eine gültige Analogie für D-Bus-Fehler: Anstatt normal mit einem Rückgabewert zurückzukehren, können entfernte Anwendungen und der Bus beschließen, eine Fehlerbedingung auszulösen. Die Implementierung von Qt D-Bus verwendet jedoch nicht den C++-Mechanismus zum Werfen von Ausnahmen, so dass Sie QDBusErrors in der Rückantwort erhalten (siehe QDBusReply::error()).
QDBusError-Objekte werden verwendet, um den Fehlernamen und die Fehlermeldung zu untersuchen, wie sie vom Bus und den entfernten Anwendungen empfangen werden. Sie sollten solche Objekte nicht selbst erstellen, um Fehlerzustände zu signalisieren, wenn sie vom D-Bus aufgerufen werden: verwenden Sie stattdessen QDBusMessage::createError() und QDBusConnection::send().
Siehe auch QDBusConnection::send(), QDBusMessage, und QDBusReply.
Dokumentation der Mitgliedstypen
enum QDBusError::ErrorType
Um die Überprüfung der häufigsten D-Bus-Fehler, die von der D-Bus-Implementierung und dem Bus-Daemon selbst erzeugt werden, zu erleichtern, kann QDBusError mit einer Reihe von vordefinierten Werten verglichen werden:
Konstante | Wert | Beschreibung |
---|---|---|
QDBusError::NoError | 0 | QDBusError ist ungültig (d.h., der Aufruf war erfolgreich) |
QDBusError::Other | 1 | QDBusError enthält einen Fehler, der nicht zu den bekannten Fehlern gehört |
QDBusError::Failed | 2 | Der Aufruf ist fehlgeschlagen (org.freedesktop.DBus.Error.Failed ) |
QDBusError::NoMemory | 3 | Kein Speicherplatz vorhanden (org.freedesktop.DBus.Error.NoMemory ) |
QDBusError::ServiceUnknown | 4 | Der aufgerufene Dienst ist nicht bekannt (org.freedesktop.DBus.Error.ServiceUnknown ) |
QDBusError::NoReply | 5 | Die aufgerufene Methode hat nicht innerhalb der angegebenen Zeitspanne geantwortet (org.freedesktop.DBus.Error.NoReply ) |
QDBusError::BadAddress | 6 | Die angegebene Adresse ist nicht gültig (org.freedesktop.DBus.Error.BadAddress ) |
QDBusError::NotSupported | 7 | Der Aufruf/Vorgang wird nicht unterstützt (org.freedesktop.DBus.Error.NotSupported ) |
QDBusError::LimitsExceeded | 8 | Die diesem Prozess/Aufruf/Verbindung zugewiesenen Grenzen haben die vordefinierten Werte überschritten (org.freedesktop.DBus.Error.LimitsExceeded ) |
QDBusError::AccessDenied | 9 | Der Aufruf/die Operation hat versucht, auf eine Ressource zuzugreifen, für die er/sie keine Berechtigung hat (org.freedesktop.DBus.Error.AccessDenied ) |
QDBusError::NoServer | 10 | Aus der Dokumentation geht nicht hervor, wofür dies ist (org.freedesktop.DBus.Error.NoServer ) |
QDBusError::Timeout | 11 | Aus der Dokumentation geht nicht hervor, wofür dies ist oder wie es verwendet wird (org.freedesktop.DBus.Error.Timeout ) |
QDBusError::NoNetwork | 12 | Die Dokumentation sagt nicht, wofür das ist (org.freedesktop.DBus.Error.NoNetwork ) |
QDBusError::AddressInUse | 13 | QDBusServer Es wurde versucht, sich an eine Adresse zu binden, die bereits in Gebrauch ist (org.freedesktop.DBus.Error.AddressInUse ) |
QDBusError::Disconnected | 14 | Der Aufruf/Vorgang/die Nachricht wurde gesendet, nachdem QDBusConnection die Verbindung getrennt hatte (org.freedesktop.DBus.Error.Disconnected ) |
QDBusError::InvalidArgs | 15 | Die Argumente, die diesem Aufruf/Vorgang übergeben wurden, sind ungültig (org.freedesktop.DBus.Error.InvalidArgs ) |
QDBusError::UnknownMethod | 16 | Die aufgerufene Methode wurde in diesem Objekt/Schnittstelle mit den angegebenen Parametern nicht gefunden (org.freedesktop.DBus.Error.UnknownMethod ) |
QDBusError::TimedOut | 17 | Die Dokumentation sagt nichts aus... (org.freedesktop.DBus.Error.TimedOut ) |
QDBusError::InvalidSignature | 18 | Die Typsignatur ist nicht gültig oder kompatibel (org.freedesktop.DBus.Error.InvalidSignature ) |
QDBusError::UnknownInterface | 19 | Die Schnittstelle ist in diesem Objekt nicht bekannt (org.freedesktop.DBus.Error.UnknownInterface ) |
QDBusError::UnknownObject | 20 | Der Objektpfad zeigt auf ein Objekt, das nicht existiert (org.freedesktop.DBus.Error.UnknownObject ) |
QDBusError::UnknownProperty | 21 | Die Eigenschaft existiert nicht in dieser Schnittstelle (org.freedesktop.DBus.Error.UnknownProperty ) |
QDBusError::PropertyReadOnly | 22 | Der Eigenschaftssatz ist fehlgeschlagen, weil die Eigenschaft schreibgeschützt ist (org.freedesktop.DBus.Error.PropertyReadOnly ) |
QDBusError::InternalError | 23 | Ein interner Fehler ist aufgetreten |
QDBusError::InvalidObjectPath | 25 | Der angegebene Objektpfad ist ungültig. |
QDBusError::InvalidService | 24 | Der angeforderte Dienst ist ungültig. |
QDBusError::InvalidMember | 27 | Das Mitglied ist ungültig. |
QDBusError::InvalidInterface | 26 | Die Schnittstelle ist ungültig. |
Dokumentation der Mitgliedsfunktionen
[static]
QString QDBusError::errorString(QDBusError::ErrorType error)
Gibt den Fehlernamen zurück, der der Fehlerbedingung error zugeordnet ist.
bool QDBusError::isValid() const
Gibt true
zurück, wenn es sich um eine gültige Fehlerbedingung handelt (d. h., wenn ein Fehler aufgetreten ist), andernfalls false.
QString QDBusError::message() const
Gibt die Meldung zurück, die der Aufrufer mit diesem Fehler verbunden hat. Fehlermeldungen werden durch die Implementierung definiert und enthalten in der Regel einen für den Menschen lesbaren Fehlercode, was jedoch nicht bedeutet, dass er für Ihre Endbenutzer geeignet ist.
QString QDBusError::name() const
Gibt den Namen des Fehlers zurück. Fehlernamen sind ähnlich wie die Namen von D-Bus-Schnittstellen, wie org.freedesktop.DBus.InvalidArgs
.
Siehe auch type().
[noexcept]
void QDBusError::swap(QDBusError &other)
Tauscht diesen Fehler mit other aus. Dieser Vorgang ist sehr schnell und schlägt nie fehl.
QDBusError::ErrorType QDBusError::type() const
Liefert die ErrorType dieses Fehlers zurück.
Siehe auch ErrorType.
© 2025 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.