QDBusError 类

QDBusError 类表示从 D-Bus 总线或总线中找到的远程应用程序接收到的错误。 更多...

头文件 #include <QDBusError>
CMakefind_package(Qt6 REQUIRED COMPONENTS DBus)
target_link_libraries(mytarget PRIVATE Qt6::DBus)
qmakeQT += dbus

公开类型

枚举ErrorType { NoError, Other, Failed, NoMemory, ServiceUnknown, …, InvalidInterface }

公开函数

boolisValid() const
QStringmessage() const
QStringname() const
voidswap(QDBusError &other)
QDBusError::ErrorTypetype() const

静态公开成员

QStringerrorString(QDBusError::ErrorType error)

详细描述

处理 D-Bus 总线服务或 D-Bus 上的远程应用程序时,可能会发生许多错误条件。这些错误条件有时通过返回的错误值或通过 QDBusError 来表示。

C++ 和 Java 异常是 D-Bus 错误的有效类比:远程应用程序和总线可以决定抛出错误条件,而不是正常返回一个返回值。然而,Qt D-Bus 实现不使用 C++ 异常抛出机制,因此您将在返回响应中接收 QDBusErrors(参见 QDBusReply::error())。

QDBusError 对象用于检查从总线 和远程应用程序接收到的错误名称和消息。您不应自己创建这类对象来从 D-Bus 调用时表示错误条件:相反,请使用 QDBusMessage::createError() 和 QDBusConnection::send().

参见 QDBusConnection::sendQDBusMessageQDBusReply

成员类型文档

枚举 QDBusError::ErrorType

为了便于验证由 D-Bus 实现和总线守护程序本身生成的最常见 D-Bus 错误,QDBusError 可以与一组预定义值进行比较

常量描述
QDBusError::NoError0QDBusError 无效(即调用成功)
QDBusError::Other1QDBusError 包含一个不是已知之一的数据错误
QDBusError::Failed2调用失败 (org.freedesktop.DBus.Error.Failed)
QDBusError::NoMemory3内存不足 (org.freedesktop.DBus.Error.NoMemory)
QDBusError::ServiceUnknown4被调用的服务未知 (org.freedesktop.DBus.Error.ServiceUnknown)
QDBusError::NoReply5调用方法在指定的超时时间内未回复 (org.freedesktop.DBus.Error.NoReply)
QDBusError::BadAddress6提供的地址无效 (org.freedesktop.DBus.Error.BadAddress)
QDBusError::NotSupported7调用/操作不支持 (org.freedesktop.DBus.Error.NotSupported)
QDBusError::LimitsExceeded8分配给此进程/调用/连接的限制超过了预定义的值 (org.freedesktop.DBus.Error.LimitsExceeded)
QDBusError::AccessDenied9调用/操作尝试访问不允许其访问的资源 (org.freedesktop.DBus.Error.AccessDenied)
QDBusError::NoServer10文档未指明这用于什么 (org.freedesktop.DBus.Error.NoServer)
QDBusError::Timeout11文档未指明这用于什么或如何使用 (org.freedesktop.DBus.Error.Timeout)
QDBusError::NoNetwork12文档未指明这用于什么 (org.freedesktop.DBus.Error.NoNetwork)
QDBusError::AddressInUse13QDBusServer 尝试绑定一个已使用的地址 (org.freedesktop.DBus.Error.AddressInUse)
QDBusError::Disconnected14QDBusConnection 断开连接后发送了调用/进程/消息 (org.freedesktop.DBus.Error.Disconnected)
QDBusError::InvalidArgs15传递给此调用/操作的参数无效 (org.freedesktop.DBus.Error.InvalidArgs)
QDBusError::UnknownMethod16未被在此对象/接口中找到所提供参数的调用方法 (org.freedesktop.DBus.Error.UnknownMethod)
QDBusError::TimedOut17文档未指明... (org.freedesktop.DBus.Error.TimedOut)
QDBusError::InvalidSignature18类型签名无效或不兼容 (org.freedesktop.DBus.Error.InvalidSignature)
QDBusError::UnknownInterface19在此对象中未知的接口 (org.freedesktop.DBus.Error.UnknownInterface)
QDBusError::UnknownObject20对象路径指向一个不存在的对象 (org.freedesktop.DBus.Error.UnknownObject)
QDBusError::UnknownProperty21在接口中不存在此属性 (org.freedesktop.DBus.Error.UnknownProperty)
QDBusError::PropertyReadOnly22设置属性失败,因为该属性是只读的 (org.freedesktop.DBus.Error.PropertyReadOnly)
QDBusError::InternalError23发生了内部错误
QDBusError::InvalidObjectPath25提供的对象路径无效。
QDBusError::InvalidService24请求的服务无效。
QDBusError::InvalidMember27成员无效。
QDBusError::InvalidInterface26接口无效。

成员函数文档

[静态] QString QDBusError::errorString(QDBusError::ErrorType error)

返回与错误条件 error 关联的错误名称。

bool QDBusError::isValid() const

如果这是有效的错误条件(即发生了错误),则返回 true,否则返回 false。

QString QDBusError::message() const

返回与此错误关联的调用者消息。错误消息是实现的,通常包含一个人类可读的错误代码,但这并不意味着它适合您的最终用户。

QString QDBusError::name() const

返回此错误的名称。错误名称类似于 D-Bus 接口名称,例如 org.freedesktop.DBus.InvalidArgs

另请参阅类型

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

交换此 QDBusError 实例与其他实例。

QDBusError::ErrorType QDBusError::type() const

返回此错误的 ErrorType

另请参阅ErrorType

© 2024 Qt 公司。此处包含的文档贡献归其各自的拥有者所有。此文档是根据 Free Software Foundation 发布的 GNU 自由文档许可证版本 1.3 的条款授予许可。Qt 和相应的标志是芬兰及/或在全世界其他国家的 Qt 公司的商标。所有其他商标均为其各自所有者的财产。