En esta página

QDBusError Class

La clase QDBusError representa un error recibido del bus D-Bus o de aplicaciones remotas que se encuentran en el bus. Más...

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

Tipos Públicos

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

Funciones Públicas

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

Miembros públicos estáticos

QString errorString(QDBusError::ErrorType error)

Descripción detallada

Al tratar con el servicio de bus D-Bus o con aplicaciones remotas a través de D-Bus, pueden producirse una serie de condiciones de error. Estas condiciones de error son a veces señaladas por un valor de error devuelto o por un QDBusError.

Las excepciones de C++ y Java son una analogía válida para los errores de D-Bus: en lugar de volver normalmente con un valor de retorno, las aplicaciones remotas y el bus pueden decidir lanzar una condición de error. Sin embargo, la implementación de Qt D-Bus no utiliza el mecanismo de lanzamiento de excepciones de C++, por lo que recibirá QDBusErrors en la respuesta de retorno (véase QDBusReply::error()).

Los objetos QDBusError se utilizan para inspeccionar el nombre del error y el mensaje recibido del bus y de las aplicaciones remotas. No deberías crear tales objetos tú mismo para señalar condiciones de error cuando se llama desde D-Bus: en su lugar, usa QDBusMessage::createError() y QDBusConnection::send().

Véase también QDBusConnection::send(), QDBusMessage, y QDBusReply.

Documentación de tipos de miembros

enum QDBusError::ErrorType

Para facilitar la verificación de los errores D-Bus más comunes generados por la implementación D-Bus y por el propio demonio del bus, QDBusError puede compararse con un conjunto de valores predefinidos:

ConstanteValorDescripción
QDBusError::NoError0QDBusError no es válido (es decir, la llamada se ha realizado correctamente)
QDBusError::Other1QDBusError contiene un error que no es uno de los conocidos
QDBusError::Failed2La llamada ha fallado (org.freedesktop.DBus.Error.Failed)
QDBusError::NoMemory3No hay memoria (org.freedesktop.DBus.Error.NoMemory)
QDBusError::ServiceUnknown4El servicio llamado no es conocido (org.freedesktop.DBus.Error.ServiceUnknown)
QDBusError::NoReply5El método llamado no ha respondido en el tiempo de espera especificado (org.freedesktop.DBus.Error.NoReply)
QDBusError::BadAddress6La dirección indicada no es válida (org.freedesktop.DBus.Error.BadAddress)
QDBusError::NotSupported7La llamada/operación no está soportada (org.freedesktop.DBus.Error.NotSupported)
QDBusError::LimitsExceeded8Los límites asignados a este proceso/llamada/conexión exceden los valores predefinidos (org.freedesktop.DBus.Error.LimitsExceeded)
QDBusError::AccessDenied9La llamada/operación intentó acceder a un recurso que no está permitido (org.freedesktop.DBus.Error.AccessDenied)
QDBusError::NoServer10Ladocumentación no indica para qué sirve (org.freedesktop.DBus.Error.NoServer)
QDBusError::Timeout11Ladocumentación no indica para qué sirve o cómo se utiliza (org.freedesktop.DBus.Error.Timeout)
QDBusError::NoNetwork12La documentación no indica para qué sirve (org.freedesktop.DBus.Error.NoNetwork)
QDBusError::AddressInUse13QDBusServer se ha intentado enlazar con una dirección que ya está en uso (org.freedesktop.DBus.Error.AddressInUse)
QDBusError::Disconnected14La llamada/proceso/mensaje se envió después de que QDBusConnection se desconectara (org.freedesktop.DBus.Error.Disconnected)
QDBusError::InvalidArgs15Los argumentos pasados a esta llamada/operación no son válidos (org.freedesktop.DBus.Error.InvalidArgs)
QDBusError::UnknownMethod16El método llamado no se encontró en este objeto/interfaz con los parámetros dados (org.freedesktop.DBus.Error.UnknownMethod)
QDBusError::TimedOut17La documentación no dice... (org.freedesktop.DBus.Error.TimedOut)
QDBusError::InvalidSignature18La firma de tipo no es válida o compatible (org.freedesktop.DBus.Error.InvalidSignature)
QDBusError::UnknownInterface19La interfaz no se conoce en este objeto (org.freedesktop.DBus.Error.UnknownInterface)
QDBusError::UnknownObject20La ruta del objeto apunta a un objeto que no existe (org.freedesktop.DBus.Error.UnknownObject)
QDBusError::UnknownProperty21La propiedad no existe en esta interfaz (org.freedesktop.DBus.Error.UnknownProperty)
QDBusError::PropertyReadOnly22Se ha producido un error al establecer la propiedad porque es de sólo lectura (org.freedesktop.DBus.Error.PropertyReadOnly)
QDBusError::InternalError23Se ha producido un error interno
QDBusError::InvalidObjectPath25La ruta de objeto proporcionada no es válida.
QDBusError::InvalidService24El servicio solicitado no es válido.
QDBusError::InvalidMember27El miembro no es válido.
QDBusError::InvalidInterface26La interfaz no es válida.

Documentación de la función de miembro

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

Devuelve el nombre del error asociado a la condición de error error.

bool QDBusError::isValid() const

Devuelve true si se trata de una condición de error válida (es decir, si hubo un error), en caso contrario false.

QString QDBusError::message() const

Devuelve el mensaje que el callee asoció a este error. Los mensajes de error están definidos por la implementación y normalmente contienen un código de error legible por humanos, aunque esto no significa que sea adecuado para sus usuarios finales.

QString QDBusError::name() const

Devuelve el nombre de este error. Los nombres de error son similares a los nombres de interfaz D-Bus, como org.freedesktop.DBus.InvalidArgs.

Véase también type().

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

Cambia este error por other. Esta operación es muy rápida y nunca falla.

QDBusError::ErrorType QDBusError::type() const

Devuelve el error ErrorType.

Véase también 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.