Класс QDBusError
Класс QDBusError представляет ошибку, полученную из шины D-Bus или от удалённых приложений, найденных в шине. Подробнее...
| Заголовок: | #include <QDBusError> |
| qmake: | QT += dbus |
| С версии: | Qt 4.2 |
Открытые типы
| перечисление | ErrorType { NoError, Other, Failed, NoMemory, ..., InvalidInterface } |
Открытые функции
| QDBusError(QDBusError &&other) | |
| bool | isValid() const |
| QString | message() const |
| QString | name() const |
| void | swap(QDBusError &other) |
| ErrorType | type() const |
| QDBusError & | operator=(QDBusError &&other) |
Статические открытые члены
| QString | errorString(ErrorType error) |
Подробное описание
Класс QDBusError представляет ошибку, полученную из шины D-Bus или от удалённых приложений, найденных в шине.
При работе со службой шины 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 |
Интерфейс недействителен. |
Документация по функциям-членам
QDBusError::QDBusError(QDBusError &&other)
Конструктор перемещения.
[static] QString QDBusError::errorString(ErrorType error)
Возвращает имя ошибки, связанное с условием ошибки error.
Эта функция была добавлена в Qt 4.3.
bool QDBusError::isValid() const
Возвращает true если это допустимое условие ошибки (т.е. если произошла ошибка), иначе false.
QString QDBusError::message() const
Возвращает сообщение, которое вызываемый объект связал с этой ошибкой. Сообщения об ошибках определяются реализацией и обычно содержат удобочитаемый код ошибки, хотя это не означает, что он подходит для ваших конечных пользователей.
QString QDBusError::name() const
Возвращает имя этой ошибки. Имена ошибок аналогичны именам интерфейсов D-Bus, например org.freedesktop.DBus.InvalidArgs.
См. также type().
void QDBusError::swap(QDBusError &other)
ErrorType QDBusError::type() const
Возвращает тип ошибки.
См. также ErrorType.
QDBusError &QDBusError::operator=(QDBusError &&other)
Оператор перемещающей присваивания.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qdbuserror.html