Auf dieser Seite

QDBusError Class

Die Klasse „QDBusError“ repräsentiert einen Fehler, der vom D-Bus-Bus oder von im Bus befindlichen Remote-Anwendungen empfangen wurde. Mehr...

Header: #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 Elemente

QString errorString(QDBusError::ErrorType error)

Ausführliche Beschreibung

Beim Umgang mit dem D-Bus-Busdienst oder mit Remote-Anwendungen über D-Bus können verschiedene Fehlerzustände auftreten. Diese Fehlerzustände werden manchmal durch einen zurückgegebenen Fehlerwert oder durch einen `QDBusError` signalisiert.

C++- und Java-Ausnahmen sind eine passende Analogie für D-Bus-Fehler: Anstatt wie üblich mit einem Rückgabewert zu enden, können Remote-Anwendungen und der Bus beschließen, eine Fehlerbedingung auszulösen. Die Implementierung von „ Qt D-Bus “ nutzt jedoch nicht den Mechanismus zum Auslösen von C++-Ausnahmen, sodass Sie in der Rückantwort QDBusError-Objekte erhalten (siehe QDBusReply::error()).

QDBusError-Objekte dienen dazu, den Fehlernamen und die Fehlermeldung zu überprüfen, wie sie vom Bus und von Remote-Anwendungen empfangen wurden. Sie sollten solche Objekte nicht selbst erstellen, um Fehlerzustände zu signalisieren, wenn Sie von D-Bus aufgerufen werden: Verwenden Sie stattdessen QDBusMessage::createError() und QDBusConnection::send().

Siehe auch QDBusConnection::send(), QDBusMessage und QDBusReply.

Dokumentation zu Mitgliedstypen

enum QDBusError::ErrorType

Um die Überprüfung der häufigsten D-Bus-Fehler zu erleichtern, die von der D-Bus-Implementierung und vom Bus-Daemon selbst generiert werden, können „ QDBusError “ mit einer Reihe vordefinierter Werte 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::NoMemory3Nicht genügend Speicher (org.freedesktop.DBus.Error.NoMemory)
QDBusError::ServiceUnknown4Der aufgerufene Dienst ist unbekannt (org.freedesktop.DBus.Error.ServiceUnknown)
QDBusError::NoReply5Die aufgerufene Methode hat nicht innerhalb der angegebenen Zeitüberschreitung geantwortet (org.freedesktop.DBus.Error.NoReply)
QDBusError::BadAddress6Die angegebene Adresse ist ungültig (org.freedesktop.DBus.Error.BadAddress)
QDBusError::NotSupported7Der Aufruf/Vorgang wird nicht unterstützt (org.freedesktop.DBus.Error.NotSupported)
QDBusError::LimitsExceeded8Die diesem Prozess/Aufruf/dieser Verbindung zugewiesenen Grenzwerte haben die vordefinierten Werte überschritten (org.freedesktop.DBus.Error.LimitsExceeded)
QDBusError::AccessDenied9Der Aufruf/die Operation hat versucht, auf eine Ressource zuzugreifen, für die keine Berechtigung vorliegt (org.freedesktop.DBus.Error.AccessDenied)
QDBusError::NoServer10Inder Dokumentation wird nicht erläutert, wozu dies dient (org.freedesktop.DBus.Error.NoServer)
QDBusError::Timeout11Inder Dokumentation wird nicht erklärt, wozu dies dient oder wie es verwendet wird (org.freedesktop.DBus.Error.Timeout)
QDBusError::NoNetwork12Inder Dokumentation wird nicht erklärt, wozu dies dient (org.freedesktop.DBus.Error.NoNetwork)
QDBusError::AddressInUse13QDBusServer Es wurde versucht, eine Verbindung zu einer Adresse herzustellen, die bereits belegt ist (org.freedesktop.DBus.Error.AddressInUse)
QDBusError::Disconnected14Der Aufruf/Prozess/die Nachricht wurde gesendet, nachdem QDBusConnection die Verbindung getrennt hatte (org.freedesktop.DBus.Error.Disconnected)
QDBusError::InvalidArgs15Die an diesen Aufruf/diese Operation übergebenen Argumente sind ungültig (org.freedesktop.DBus.Error.InvalidArgs)
QDBusError::UnknownMethod16Die aufgerufene Methode wurde in diesem Objekt/dieser Schnittstelle mit den angegebenen Parametern nicht gefunden (org.freedesktop.DBus.Error.UnknownMethod)
QDBusError::TimedOut17Inder Dokumentation steht nichts dazu… (org.freedesktop.DBus.Error.TimedOut)
QDBusError::InvalidSignature18Die Typsignatur ist ungültig oder nicht kompatibel (org.freedesktop.DBus.Error.InvalidSignature)
QDBusError::UnknownInterface19Die Schnittstelle ist in diesem Objekt nicht bekannt (org.freedesktop.DBus.Error.UnknownInterface)
QDBusError::UnknownObject20Der Objektpfad verweist auf ein Objekt, das nicht existiert (org.freedesktop.DBus.Error.UnknownObject)
QDBusError::UnknownProperty21Die Eigenschaft existiert in dieser Schnittstelle nicht (org.freedesktop.DBus.Error.UnknownProperty)
QDBusError::PropertyReadOnly22Das Festlegen der Eigenschaft ist fehlgeschlagen, da die Eigenschaft schreibgeschützt ist (org.freedesktop.DBus.Error.PropertyReadOnly)
QDBusError::InternalError23Es ist ein interner Fehler aufgetreten
QDBusError::InvalidObjectPath25Der angegebene Objektpfad ist ungültig.
QDBusError::InvalidService24Der angeforderte Dienst ist ungültig.
QDBusError::InvalidMember27Das Element ist ungültig.
QDBusError::InvalidInterface26Die Schnittstelle ist ungültig.

Dokumentation zu den 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 einen gültigen Fehlerzustand handelt (d. h., wenn ein Fehler aufgetreten ist), andernfalls „false“.

QString QDBusError::message() const

Gibt die Meldung zurück, die der mit diesem Fehler verknüpfte Aufrufer zurückgegeben hat. Fehlermeldungen sind implementierungsabhängig und enthalten in der Regel einen für Menschen lesbaren Fehlercode, was jedoch nicht bedeutet, dass dieser für Ihre Endbenutzer geeignet ist.

QString QDBusError::name() const

Gibt den Namen dieses Fehlers zurück. Fehlernamen ähneln den Namen von D-Bus-Schnittstellen, wie z. B. „ org.freedesktop.DBus.InvalidArgs “.

Siehe auch type().

[noexcept] void QDBusError::swap(QDBusError &other)

Ersetzt diesen Fehler durch „ other “. Dieser Vorgang ist sehr schnell und schlägt niemals fehl.

QDBusError::ErrorType QDBusError::type() const

Gibt den „ ErrorType “ dieses Fehlers zurück.

Siehe auch „ 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.