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:
| 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 | Nicht genügend Speicher (org.freedesktop.DBus.Error.NoMemory) |
QDBusError::ServiceUnknown | 4 | Der aufgerufene Dienst ist unbekannt (org.freedesktop.DBus.Error.ServiceUnknown) |
QDBusError::NoReply | 5 | Die aufgerufene Methode hat nicht innerhalb der angegebenen Zeitüberschreitung geantwortet (org.freedesktop.DBus.Error.NoReply) |
QDBusError::BadAddress | 6 | Die angegebene Adresse ist ungü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/dieser Verbindung zugewiesenen Grenzwerte 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 keine Berechtigung vorliegt (org.freedesktop.DBus.Error.AccessDenied) |
QDBusError::NoServer | 10 | Inder Dokumentation wird nicht erläutert, wozu dies dient (org.freedesktop.DBus.Error.NoServer) |
QDBusError::Timeout | 11 | Inder Dokumentation wird nicht erklärt, wozu dies dient oder wie es verwendet wird (org.freedesktop.DBus.Error.Timeout) |
QDBusError::NoNetwork | 12 | Inder Dokumentation wird nicht erklärt, wozu dies dient (org.freedesktop.DBus.Error.NoNetwork) |
QDBusError::AddressInUse | 13 | QDBusServer Es wurde versucht, eine Verbindung zu einer Adresse herzustellen, die bereits belegt ist (org.freedesktop.DBus.Error.AddressInUse) |
QDBusError::Disconnected | 14 | Der Aufruf/Prozess/die Nachricht wurde gesendet, nachdem QDBusConnection die Verbindung getrennt hatte (org.freedesktop.DBus.Error.Disconnected) |
QDBusError::InvalidArgs | 15 | Die an diesen Aufruf/diese Operation übergebenen Argumente sind ungültig (org.freedesktop.DBus.Error.InvalidArgs) |
QDBusError::UnknownMethod | 16 | Die aufgerufene Methode wurde in diesem Objekt/dieser Schnittstelle mit den angegebenen Parametern nicht gefunden (org.freedesktop.DBus.Error.UnknownMethod) |
QDBusError::TimedOut | 17 | Inder Dokumentation steht nichts dazu… (org.freedesktop.DBus.Error.TimedOut) |
QDBusError::InvalidSignature | 18 | Die Typsignatur ist ungültig oder nicht 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 verweist auf ein Objekt, das nicht existiert (org.freedesktop.DBus.Error.UnknownObject) |
QDBusError::UnknownProperty | 21 | Die Eigenschaft existiert in dieser Schnittstelle nicht (org.freedesktop.DBus.Error.UnknownProperty) |
QDBusError::PropertyReadOnly | 22 | Das Festlegen der Eigenschaft ist fehlgeschlagen, da die Eigenschaft schreibgeschützt ist (org.freedesktop.DBus.Error.PropertyReadOnly) |
QDBusError::InternalError | 23 | Es ist ein interner Fehler aufgetreten |
QDBusError::InvalidObjectPath | 25 | Der angegebene Objektpfad ist ungültig. |
QDBusError::InvalidService | 24 | Der angeforderte Dienst ist ungültig. |
QDBusError::InvalidMember | 27 | Das Element ist ungültig. |
QDBusError::InvalidInterface | 26 | Die 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.