MeeGo 1.2 Harmattan Developer Documentation Develop for the Nokia N9

QDBusError Class Reference

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

 #include <QDBusError>

This class was introduced in Qt 4.2.

Public Types

enum ErrorType { NoError, Other, Failed, NoMemory, ..., UnknownObject }

Public Functions

bool isValid () const
QString message () const
QString name () const
ErrorType type () const

Static Public Members

QString errorString ( ErrorType error )

Detailed Description

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

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 QtDBus 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:

Constant Value Description
QDBusError::NoError 0 QDBusError is invalid (i.e., the call succeeded)
QDBusError::Other 1 QDBusError contains an error that is one of the well-known ones
QDBusError::Failed 2 The call failed (org.freedesktop.DBus.Error.Failed)
QDBusError::NoMemory 3 Out of memory (org.freedesktop.DBus.Error.NoMemory)
QDBusError::ServiceUnknown 4 The called service is not known (org.freedesktop.DBus.Error.ServiceUnknown)
QDBusError::NoReply 5 The called method did not reply within the specified timeout (org.freedesktop.DBus.Error.NoReply)
QDBusError::BadAddress 6 The address given is not valid (org.freedesktop.DBus.Error.BadAddress)
QDBusError::NotSupported 7 The call/operation is not supported (org.freedesktop.DBus.Error.NotSupported)
QDBusError::LimitsExceeded 8 The limits allocated to this process/call/connection exceeded the pre-defined values (org.freedesktop.DBus.Error.LimitsExceeded)
QDBusError::AccessDenied 9 The call/operation tried to access a resource it isn't allowed to (org.freedesktop.DBus.Error.AccessDenied)
QDBusError::NoServer 10 Documentation doesn't say what this is for (org.freedesktop.DBus.Error.NoServer)
QDBusError::Timeout 11 Documentation doesn't say what this is for or how it's used (org.freedesktop.DBus.Error.Timeout)
QDBusError::NoNetwork 12 Documentation doesn't say what this is for (org.freedesktop.DBus.Error.NoNetwork)
QDBusError::AddressInUse 13 QDBusServer tried to bind to an address that is already in use (org.freedesktop.DBus.Error.AddressInUse)
QDBusError::Disconnected 14 The call/process/message was sent after QDBusConnection disconnected (org.freedesktop.DBus.Error.Disconnected)
QDBusError::InvalidArgs 15 The arguments passed to this call/operation are not valid (org.freedesktop.DBus.Error.InvalidArgs)
QDBusError::UnknownMethod 16 The method called was not found in this object/interface with the given parameters (org.freedesktop.DBus.Error.UnknownMethod)
QDBusError::TimedOut 17 Documentation doesn't say... (org.freedesktop.DBus.Error.TimedOut)
QDBusError::InvalidSignature 18 The type signature is not valid or compatible (org.freedesktop.DBus.Error.InvalidSignature)
QDBusError::UnknownInterface 19 The interface is not known
QDBusError::InternalError 20 An internal error occurred (com.trolltech.QtDBus.Error.InternalError)
QDBusError::InvalidObjectPath 23 The object path provided is invalid.
QDBusError::InvalidService 22 The service requested is invalid.
QDBusError::InvalidMember 25 The member is invalid.
QDBusError::InvalidInterface 24 The interface is invalid.
QDBusError::UnknownObject 21 The remote object could not be found.

Member Function Documentation

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

Returns the error name associated with error condition error.

This function was introduced in Qt 4.3.

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().

ErrorType QDBusError::type () const

Returns this error's ErrorType.

See also ErrorType.