PySide6.QtDBus.QDBusError

class QDBusError

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

概要

方法

静态函数

注意

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

详细描述

在处理D-Bus总线服务或通过D-Bus与远程应用程序通信时,可能会发生多种错误情况。这些错误情况有时通过返回的错误值或QDBusError来指示。

C++ 和 Java 异常是 D-Bus 错误的一个有效类比:远程应用程序和总线可能会决定抛出错误条件,而不是正常返回一个返回值。然而,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__(other)
Parameters:

其他QDBusError

__init__(msg)
Parameters:

msgQDBusMessage

__init__(error, message)
Parameters:
static errorString(error)
Parameters:

错误ErrorType

Return type:

字符串

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

isValid()
Return type:

布尔

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

message()
Return type:

字符串

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

name()
Return type:

字符串

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

另请参阅

type()

swap(other)
Parameters:

其他QDBusError

将此QDBusError实例与other交换。

type()
Return type:

ErrorType

返回此错误的ErrorType

另请参阅

ErrorType