QDBusError Class

The QDBusError class represents an error received from the D-Bus bus or from remote applications found in the bus. More...

Header: #include <QDBusError>
CMake: find_package(Qt6 REQUIRED COMPONENTS DBus)
target_link_libraries(mytarget PRIVATE Qt6::DBus)
qmake: QT += dbus

Public Types

enum ErrorType { NoError, Other, Failed, NoMemory, ServiceUnknown, …, InvalidInterface }

Public Functions

bool isValid() const
QString message() const
QString name() const
void swap(QDBusError &other)
QDBusError::ErrorType type() const

Static Public Members

QString errorString(QDBusError::ErrorType error)

Detailed Description

When dealing with the D-Bus bus service or with remote applications over D-Bus, a number of error conditions can happen. This error conditions are sometimes signalled by a returned error value or by a QDBusError.

C++ and Java exceptions are a valid analogy for D-Bus errors: instead of returning normally with a return value, remote applications and the bus may decide to throw an error condition. However, the Qt D-Bus implementation does not use the C++ exception-throwing mechanism, so you will receive QDBusErrors in the return reply (see QDBusReply::error()).

QDBusError objects are used to inspect the error name and message as received from the bus and remote applications. You should not create such objects yourself to signal error conditions when called from D-Bus: instead, use QDBusMessage::createError() and QDBusConnection::send().

See also QDBusConnection::send(), QDBusMessage, and QDBusReply.

Member Type Documentation

enum QDBusError::ErrorType

In order to facilitate verification of the most common D-Bus errors generated by the D-Bus implementation and by the bus daemon itself, QDBusError can be compared to a set of pre-defined values:

ConstantValueDescription
QDBusError::NoError0QDBusError is invalid (i.e., the call succeeded)
QDBusError::Other1QDBusError contains an error that is not one of the well-known ones
QDBusError::Failed2The call failed (org.freedesktop.DBus.Error.Failed)
QDBusError::NoMemory3Out of memory (org.freedesktop.DBus.Error.NoMemory)
QDBusError::ServiceUnknown4The called service is not known (org.freedesktop.DBus.Error.ServiceUnknown)
QDBusError::NoReply5The called method did not reply within the specified timeout (org.freedesktop.DBus.Error.NoReply)
QDBusError::BadAddress6The address given is not valid (org.freedesktop.DBus.Error.BadAddress)
QDBusError::NotSupported7The call/operation is not supported (org.freedesktop.DBus.Error.NotSupported)
QDBusError::LimitsExceeded8The limits allocated to this process/call/connection exceeded the pre-defined values (org.freedesktop.DBus.Error.LimitsExceeded)
QDBusError::AccessDenied9The call/operation tried to access a resource it isn't allowed to (org.freedesktop.DBus.Error.AccessDenied)
QDBusError::NoServer10Documentation doesn't say what this is for (org.freedesktop.DBus.Error.NoServer)
QDBusError::Timeout11Documentation doesn't say what this is for or how it's used (org.freedesktop.DBus.Error.Timeout)
QDBusError::NoNetwork12Documentation doesn't say what this is for (org.freedesktop.DBus.Error.NoNetwork)
QDBusError::AddressInUse13QDBusServer tried to bind to an address that is already in use (org.freedesktop.DBus.Error.AddressInUse)
QDBusError::Disconnected14The call/process/message was sent after QDBusConnection disconnected (org.freedesktop.DBus.Error.Disconnected)
QDBusError::InvalidArgs15The arguments passed to this call/operation are not valid (org.freedesktop.DBus.Error.InvalidArgs)
QDBusError::UnknownMethod16The method called was not found in this object/interface with the given parameters (org.freedesktop.DBus.Error.UnknownMethod)
QDBusError::TimedOut17Documentation doesn't say... (org.freedesktop.DBus.Error.TimedOut)
QDBusError::InvalidSignature18The type signature is not valid or compatible (org.freedesktop.DBus.Error.InvalidSignature)
QDBusError::UnknownInterface19The interface is not known in this object (org.freedesktop.DBus.Error.UnknownInterface)
QDBusError::UnknownObject20The object path points to an object that does not exist (org.freedesktop.DBus.Error.UnknownObject)
QDBusError::UnknownProperty21The property does not exist in this interface (org.freedesktop.DBus.Error.UnknownProperty)
QDBusError::PropertyReadOnly22The property set failed because the property is read-only (org.freedesktop.DBus.Error.PropertyReadOnly)
QDBusError::InternalError23An internal error occurred
QDBusError::InvalidObjectPath25The object path provided is invalid.
QDBusError::InvalidService24The service requested is invalid.
QDBusError::InvalidMember27The member is invalid.
QDBusError::InvalidInterface26The interface is invalid.

Member Function Documentation

[static] QString QDBusError::errorString(QDBusError::ErrorType error)

Returns the error name associated with error condition error.

bool QDBusError::isValid() const

Returns true if this is a valid error condition (i.e., if there was an error), otherwise false.

QString QDBusError::message() const

Returns the message that the callee associated with this error. Error messages are implementation defined and usually contain a human-readable error code, though this does not mean it is suitable for your end-users.

QString QDBusError::name() const

Returns this error's name. Error names are similar to D-Bus Interface names, like org.freedesktop.DBus.InvalidArgs.

See also type().

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

Swaps this QDBusError instance with other.

QDBusError::ErrorType QDBusError::type() const

Returns this error's ErrorType.

See also ErrorType.