Класс QDBusError
Класс QDBusError представляет ошибку, полученную от шины D-Bus или от удалённых приложений, найденных в шине. Подробнее...
| Заголовок: | #include <QDBusError> |
| qmake: | QT += dbus |
| С момента: | Qt 4.2 |
Этот класс был введён в Qt 4.2.
Открытые типы
| перечисление | 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.
Документация по типу члена
enum 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) |
Документация по членам-функциям
[static] QString QDBusError::errorString(QDBusError::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)
Меняет местами этот объект QDBusError с объектом other.
END_OF_DOCUMENT_MARKERQDBusError::ErrorType QDBusError::type() const
Возвращает тип этой ошибки.
См. такжеErrorType.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qdbuserror.html