class QDBusError#

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

概述#

方法#

静态函数#

注意:

本文档可能包含从 C++ 自动翻译到 Python 的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译存在问题,您也可以通过在 https:/bugreports.qt.io/projects/PYSIDE 创建工单的方式来告诉我们。

详细描述#

在处理 D-Bus 总线服务或通过 D-Bus 进行远程应用程序时,可能会发生各种错误条件。这些错误条件有时是通过返回的错误值或 QDBusError 指示的。

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

QDBusError 对象用于检查从总线和远程应用程序接收到的错误名称和消息。当从 D-Bus 调用时,请不要创建此类对象来指示错误条件:而是使用 createError()send()

另请参阅

send() QDBusMessage QDBusReply

class ErrorType#

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

常量

描述

QDBusError.NoError

QDBusError 无效(即调用成功)

QDBusError.Other

QDBusError 包含的错误不是已知错误中的一种

QDBusError.Failed

调用失败(org.freedesktop.DBus.Error.Failed

QDBusError.NoMemory

内存不足(org.freedesktop.DBus.Error.NoMemory

QDBusError.ServiceUnknown

调用的服务是未知的(org.freedesktop.DBus.Error.ServiceUnknown

QDBusError.NoReply

被调用的方法未在指定的超时时间内回复(org.freedesktop.DBus.Error.NoReply

QDBusError.BadAddress

提供的地址无效(org.freedesktop.DBus.Error.BadAddress

QDBusError.NotSupported

调用/操作不受支持(org.freedesktop.DBus.Error.NotSupported

QDBusError.LimitsExceeded

分配给此进程/调用/连接的限额超过了预定义值(org.freedesktop.DBus.Error.LimitsExceeded

QDBusError.AccessDenied

调用/操作试图访问不允许访问的资源(org.freedesktop.DBus.Error.AccessDenied

QDBusError.NoServer

文档没有说明这一点用于什么org.freedesktop.DBus.Error.NoServer

QDBusError.Timeout

文档没有说明该错误的使用方式或用途org.freedesktop.DBus.Error.Timeout

QDBusError.NoNetwork

文档没有说明这一点用于什么org.freedesktop.DBus.Error.NoNetwork

QDBusError.AddressInUse

QDBusServer 尝试绑定到一个已被使用的地址(org.freedesktop.DBus.Error.AddressInUse

QDBusError.Disconnected

调用/进程/消息是在 QDBusConnection 断开后发送的(org.freedesktop.DBus.Error.Disconnected

QDBusError.InvalidArgs

传递给调用/操作的参数无效(org.freedesktop.DBus.Error.InvalidArgs

QDBusError.UnknownMethod

调用该方法的对象/接口中没有找到具有给定参数的方法(org.freedesktop.DBus.Error.UnknownMethod

QDBusError.TimedOut

文档没有说明…org.freedesktop.DBus.Error.TimedOut

QDBusError.InvalidSignature

类型签名无效或不兼容(org.freedesktop.DBus.Error.InvalidSignature

QDBusError.UnknownInterface

在此对象中未知的接口(org.freedesktop.DBus.Error.UnknownInterface

QDBusError.UnknownObject

对象路径指向一个不存在的对象(org.freedesktop.DBus.Error.UnknownObject

QDBusError.UnknownProperty

在此接口中不存在该属性(org.freedesktop.DBus.Error.UnknownProperty

QDBusError.PropertyReadOnly

设置属性失败,因为该属性为只读(org.freedesktop.DBus.Error.PropertyReadOnly

QDBusError.InternalError

发生了内部错误

QDBusError.InvalidObjectPath

提供的对象路径无效。

QDBusError.InvalidService

请求的服务无效。

QDBusError.InvalidMember

成员无效。

QDBusError.InvalidInterface

接口无效。

__init__()#
__init__(error, message)
参数:
__init__(other)
参数:

otherQDBusError

__init__(msg)
参数:

msgQDBusMessage

static errorString(error)#
参数:

错误ErrorType

返回类型::

str

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

isValid()#
返回类型::

bool

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

message()#
返回类型::

str

返回与该错误相关的消息。错误消息由实现定义,并且通常包含一个可读的错误代码,但这并不意味着它适合您的最终用户。

name()#
返回类型::

str

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

另请参阅

type

swap(other)#
参数:

otherQDBusError

交换此 QDBusError 实例与 other

type()#
返回类型::

ErrorType

返回此错误的相关 ErrorType

另请参阅

ErrorType