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:

KonstanteWertBeschreibung
QDBusError::NoError0QDBusError ist ungültig (d.h., der Aufruf war erfolgreich)
QDBusError::Other1QDBusError enthält einen Fehler, der nicht zu den bekannten Fehlern gehört
QDBusError::Failed2Der Aufruf ist fehlgeschlagen (org.freedesktop.DBus.Error.Failed)
QDBusError::NoMemory3Kein Speicherplatz vorhanden (org.freedesktop.DBus.Error.NoMemory)
QDBusError::ServiceUnknown4Der aufgerufene Dienst ist nicht bekannt (org.freedesktop.DBus.Error.ServiceUnknown)
QDBusError::NoReply5Die aufgerufene Methode hat nicht innerhalb der angegebenen Zeitspanne geantwortet (org.freedesktop.DBus.Error.NoReply)
QDBusError::BadAddress6Die angegebene Adresse ist nicht gültig (org.freedesktop.DBus.Error.BadAddress)
QDBusError::NotSupported7Der Aufruf/Vorgang wird nicht unterstützt (org.freedesktop.DBus.Error.NotSupported)
QDBusError::LimitsExceeded8Die diesem Prozess/Aufruf/Verbindung zugewiesenen Grenzen haben die vordefinierten Werte überschritten (org.freedesktop.DBus.Error.LimitsExceeded)
QDBusError::AccessDenied9Der Aufruf/die Operation hat versucht, auf eine Ressource zuzugreifen, für die er/sie keine Berechtigung hat (org.freedesktop.DBus.Error.AccessDenied)
QDBusError::NoServer10Aus der Dokumentation geht nicht hervor, wofür dies ist (org.freedesktop.DBus.Error.NoServer)
QDBusError::Timeout11Aus der Dokumentation geht nicht hervor, wofür dies ist oder wie es verwendet wird (org.freedesktop.DBus.Error.Timeout)
QDBusError::NoNetwork12Die Dokumentation sagt nicht, wofür das ist (org.freedesktop.DBus.Error.NoNetwork)
QDBusError::AddressInUse13QDBusServer Es wurde versucht, sich an eine Adresse zu binden, die bereits in Gebrauch ist (org.freedesktop.DBus.Error.AddressInUse)
QDBusError::Disconnected14Der Aufruf/Vorgang/die Nachricht wurde gesendet, nachdem QDBusConnection die Verbindung getrennt hatte (org.freedesktop.DBus.Error.Disconnected)
QDBusError::InvalidArgs15Die Argumente, die diesem Aufruf/Vorgang übergeben wurden, sind ungültig (org.freedesktop.DBus.Error.InvalidArgs)
QDBusError::UnknownMethod16Die aufgerufene Methode wurde in diesem Objekt/Schnittstelle mit den angegebenen Parametern nicht gefunden (org.freedesktop.DBus.Error.UnknownMethod)
QDBusError::TimedOut17Die Dokumentation sagt nichts aus... (org.freedesktop.DBus.Error.TimedOut)
QDBusError::InvalidSignature18Die Typsignatur ist nicht gültig oder kompatibel (org.freedesktop.DBus.Error.InvalidSignature)
QDBusError::UnknownInterface19Die Schnittstelle ist in diesem Objekt nicht bekannt (org.freedesktop.DBus.Error.UnknownInterface)
QDBusError::UnknownObject20Der Objektpfad zeigt auf ein Objekt, das nicht existiert (org.freedesktop.DBus.Error.UnknownObject)
QDBusError::UnknownProperty21Die Eigenschaft existiert nicht in dieser Schnittstelle (org.freedesktop.DBus.Error.UnknownProperty)
QDBusError::PropertyReadOnly22Der Eigenschaftssatz ist fehlgeschlagen, weil die Eigenschaft schreibgeschützt ist (org.freedesktop.DBus.Error.PropertyReadOnly)
QDBusError::InternalError23Ein interner Fehler ist aufgetreten
QDBusError::InvalidObjectPath25Der angegebene Objektpfad ist ungültig.
QDBusError::InvalidService24Der angeforderte Dienst ist ungültig.
QDBusError::InvalidMember27Das Mitglied ist ungültig.
QDBusError::InvalidInterface26Die 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.