Spec-Zone.ru › Qt 5.11

Класс QDBusError

Класс QDBusError представляет ошибку, полученную от шины D-Bus или от удаленных приложений, найденных в шине. Подробнее...

Заголовок: #include <QDBusError>
qmake: QT += dbus
С: Qt 4.2
  • Список всех членов, включая унаследованные

Открытые типы

перечисление ErrorType { НетОшибки, ДругаяОшибка, Ошибка, НетПамяти, ..., НеверныйИнтерфейс }

Открытые функции

QDBusError(QDBusError &&other)
bool isValid() const
QString message() const
QString name() const
void swap(QDBusError &other)
QDBusError::ErrorType type() const
QDBusError & operator=(QDBusError &&other)

Статические открытые члены

QString errorString(QDBusError::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.

Документация типа члена

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)
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(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.

QDBusError::ErrorType QDBusError::type() const

Возвращает тип ошибки ErrorType этой ошибки.

См. также ErrorType.

QDBusError &QDBusError::operator=(QDBusError &&other)

Оператор перемещающей присваивания.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/qdbuserror.html

Spec-Zone.ru

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