QDBusError 类表示从 D-Bus 总线或从在总线中发现的远程应用程序收到的错误。 更多...
头: | #include <QDBusError> |
CMake: |
find_package(Qt6 REQUIRED COMPONENTS DBus)
target_link_libraries(mytarget PRIVATE Qt6::DBus) |
qmake: | QT += dbus |
enum | 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 ) |
When dealing with the D-Bus bus service or with remote applications over D-Bus, a number of error conditions can happen. This error conditions are sometimes signalled by a returned error value or by a QDBusError.
C++ and Java exceptions are a valid analogy for D-Bus errors: instead of returning normally with a return value, remote applications and the bus may decide to throw an error condition. However, the Qt D-Bus implementation does not use the C++ exception-throwing mechanism, so you will receive QDBusErrors in the return reply (see QDBusReply::error ()).
QDBusError objects are used to inspect the error name and message as received from the bus and remote applications. You should not create such objects yourself to signal error conditions when called from D-Bus: instead, use QDBusMessage::createError () 和 QDBusConnection::send ().
另请参阅 QDBusConnection::send (), QDBusMessage ,和 QDBusReply .
In order to facilitate verification of the most common D-Bus errors generated by the D-Bus implementation and by the bus daemon itself, QDBusError can be compared to a set of pre-defined values:
常量 | 值 | 描述 |
---|---|---|
QDBusError::NoError
|
0
|
QDBusError is invalid (i.e., the call succeeded) |
QDBusError::Other
|
1
|
QDBusError contains an error that is not one of the well-known ones |
QDBusError::Failed
|
2
|
The call failed (
org.freedesktop.DBus.Error.Failed
)
|
QDBusError::NoMemory
|
3
|
Out of memory (
org.freedesktop.DBus.Error.NoMemory
)
|
QDBusError::ServiceUnknown
|
4
|
The called service is not known (
org.freedesktop.DBus.Error.ServiceUnknown
)
|
QDBusError::NoReply
|
5
|
The called method did not reply within the specified timeout (
org.freedesktop.DBus.Error.NoReply
)
|
QDBusError::BadAddress
|
6
|
The address given is not valid (
org.freedesktop.DBus.Error.BadAddress
)
|
QDBusError::NotSupported
|
7
|
The call/operation is not supported (
org.freedesktop.DBus.Error.NotSupported
)
|
QDBusError::LimitsExceeded
|
8
|
The limits allocated to this process/call/connection exceeded the pre-defined values (
org.freedesktop.DBus.Error.LimitsExceeded
)
|
QDBusError::AccessDenied
|
9
|
The call/operation tried to access a resource it isn't allowed to (
org.freedesktop.DBus.Error.AccessDenied
)
|
QDBusError::NoServer
|
10
|
Documentation doesn't say what this is for
(
org.freedesktop.DBus.Error.NoServer
)
|
QDBusError::Timeout
|
11
|
Documentation doesn't say what this is for or how it's used
(
org.freedesktop.DBus.Error.Timeout
)
|
QDBusError::NoNetwork
|
12
|
Documentation doesn't say what this is for
(
org.freedesktop.DBus.Error.NoNetwork
)
|
QDBusError::AddressInUse
|
13
|
QDBusServer
tried to bind to an address that is already in use (
org.freedesktop.DBus.Error.AddressInUse
)
|
QDBusError::Disconnected
|
14
|
The call/process/message was sent after
QDBusConnection
disconnected (
org.freedesktop.DBus.Error.Disconnected
)
|
QDBusError::InvalidArgs
|
15
|
The arguments passed to this call/operation are not valid (
org.freedesktop.DBus.Error.InvalidArgs
)
|
QDBusError::UnknownMethod
|
16
|
The method called was not found in this object/interface with the given parameters (
org.freedesktop.DBus.Error.UnknownMethod
)
|
QDBusError::TimedOut
|
17
|
Documentation doesn't say...
(
org.freedesktop.DBus.Error.TimedOut
)
|
QDBusError::InvalidSignature
|
18
|
The type signature is not valid or compatible (
org.freedesktop.DBus.Error.InvalidSignature
)
|
QDBusError::UnknownInterface
|
19
|
The interface is not known in this object (
org.freedesktop.DBus.Error.UnknownInterface
)
|
QDBusError::UnknownObject
|
20
|
The object path points to an object that does not exist (
org.freedesktop.DBus.Error.UnknownObject
)
|
QDBusError::UnknownProperty
|
21
|
The property does not exist in this interface (
org.freedesktop.DBus.Error.UnknownProperty
)
|
QDBusError::PropertyReadOnly
|
22
|
The property set failed because the property is read-only (
org.freedesktop.DBus.Error.PropertyReadOnly
)
|
QDBusError::InternalError
|
23
|
An internal error occurred |
QDBusError::InvalidObjectPath
|
25
|
The object path provided is invalid. |
QDBusError::InvalidService
|
24
|
The service requested is invalid. |
QDBusError::InvalidMember
|
27
|
The member is invalid. |
QDBusError::InvalidInterface
|
26
|
The interface is invalid. |
[static]
QString
QDBusError::
errorString
(
QDBusError::ErrorType
error
)
Returns the error name associated with error condition error .
返回
true
if this is a valid error condition (i.e., if there was an error), otherwise false.
Returns the message that the callee associated with this error. Error messages are implementation defined and usually contain a human-readable error code, though this does not mean it is suitable for your end-users.
Returns this error's name. Error names are similar to D-Bus Interface names, like
org.freedesktop.DBus.InvalidArgs
.
另请参阅 type ().
[noexcept]
void
QDBusError::
swap
(
QDBusError
&
other
)
交换此 QDBusError 实例与 other .
Returns this error's ErrorType .
另请参阅 ErrorType .