QDBusError 类
QDBusError 类表示从 D-Bus 总线或总线中找到的远程应用程序接收到的错误。 更多...
| 头文件 | #include <QDBusError> | 
| CMake | find_package(Qt6 REQUIRED COMPONENTS DBus) target_link_libraries(mytarget PRIVATE Qt6::DBus) | 
| qmake | QT += dbus | 
公开类型
| 枚举 | ErrorType { NoError, Other, Failed, NoMemory, ServiceUnknown, …, InvalidInterface } | 
公开函数
| bool | isValid() const | 
| QString | message() const | 
| QString | name() const | 
| void | swap(QDBusError &other) | 
| QDBusError::ErrorType | type() const | 
静态公开成员
| QString | errorString(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::send,QDBusMessage 和 QDBusReply。
成员类型文档
枚举 QDBusError::ErrorType
为了便于验证由 D-Bus 实现和总线守护程序本身生成的最常见 D-Bus 错误,QDBusError 可以与一组预定义值进行比较
| 常量 | 值 | 描述 | 
|---|---|---|
| QDBusError::NoError | 0 | QDBusError 无效(即调用成功) | 
| QDBusError::Other | 1 | QDBusError 包含一个不是已知之一的数据错误 | 
| QDBusError::Failed | 2 | 调用失败 ( org.freedesktop.DBus.Error.Failed) | 
| QDBusError::NoMemory | 3 | 内存不足 ( org.freedesktop.DBus.Error.NoMemory) | 
| QDBusError::ServiceUnknown | 4 | 被调用的服务未知 ( org.freedesktop.DBus.Error.ServiceUnknown) | 
| QDBusError::NoReply | 5 | 调用方法在指定的超时时间内未回复 ( org.freedesktop.DBus.Error.NoReply) | 
| QDBusError::BadAddress | 6 | 提供的地址无效 ( org.freedesktop.DBus.Error.BadAddress) | 
| QDBusError::NotSupported | 7 | 调用/操作不支持 ( org.freedesktop.DBus.Error.NotSupported) | 
| QDBusError::LimitsExceeded | 8 | 分配给此进程/调用/连接的限制超过了预定义的值 ( org.freedesktop.DBus.Error.LimitsExceeded) | 
| QDBusError::AccessDenied | 9 | 调用/操作尝试访问不允许其访问的资源 ( org.freedesktop.DBus.Error.AccessDenied) | 
| QDBusError::NoServer | 10 | 文档未指明这用于什么 ( org.freedesktop.DBus.Error.NoServer) | 
| QDBusError::Timeout | 11 | 文档未指明这用于什么或如何使用 ( org.freedesktop.DBus.Error.Timeout) | 
| QDBusError::NoNetwork | 12 | 文档未指明这用于什么 ( org.freedesktop.DBus.Error.NoNetwork) | 
| QDBusError::AddressInUse | 13 | QDBusServer 尝试绑定一个已使用的地址 ( org.freedesktop.DBus.Error.AddressInUse) | 
| QDBusError::Disconnected | 14 | 在 QDBusConnection 断开连接后发送了调用/进程/消息 ( org.freedesktop.DBus.Error.Disconnected) | 
| QDBusError::InvalidArgs | 15 | 传递给此调用/操作的参数无效 ( org.freedesktop.DBus.Error.InvalidArgs) | 
| QDBusError::UnknownMethod | 16 | 未被在此对象/接口中找到所提供参数的调用方法 ( org.freedesktop.DBus.Error.UnknownMethod) | 
| QDBusError::TimedOut | 17 | 文档未指明... ( org.freedesktop.DBus.Error.TimedOut) | 
| QDBusError::InvalidSignature | 18 | 类型签名无效或不兼容 ( org.freedesktop.DBus.Error.InvalidSignature) | 
| QDBusError::UnknownInterface | 19 | 在此对象中未知的接口 ( org.freedesktop.DBus.Error.UnknownInterface) | 
| QDBusError::UnknownObject | 20 | 对象路径指向一个不存在的对象 ( org.freedesktop.DBus.Error.UnknownObject) | 
| QDBusError::UnknownProperty | 21 | 在接口中不存在此属性 ( org.freedesktop.DBus.Error.UnknownProperty) | 
| QDBusError::PropertyReadOnly | 22 | 设置属性失败,因为该属性是只读的 ( org.freedesktop.DBus.Error.PropertyReadOnly) | 
| QDBusError::InternalError | 23 | 发生了内部错误 | 
| QDBusError::InvalidObjectPath | 25 | 提供的对象路径无效。 | 
| QDBusError::InvalidService | 24 | 请求的服务无效。 | 
| QDBusError::InvalidMember | 27 | 成员无效。 | 
| QDBusError::InvalidInterface | 26 | 接口无效。 | 
成员函数文档
[静态] 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 公司的商标。所有其他商标均为其各自所有者的财产。