Spec-Zone.ru › Qt 5.15

Класс 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_MARKER

QDBusError::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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API