QDBusError Class

QDBusErrorクラスは、D-Busバスまたはバス内で見つかったリモート・アプリケーションから受信したエラーを表します。詳細...

Header: #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)

詳細説明

D-Busバス・サービスやD-Bus上のリモート・アプリケーションを扱う場合、多くのエラー状態が発生する可能性があります。このエラー状態は、返されるエラー値や QDBusError によって通知されることがあります。

C++ や Java の例外は、D-Bus のエラーの有効なアナロジーです。リモー ト・アプリケーションとバスは、戻り値で正常に戻る代わりに、エラー状態をスロー することにします。しかし、Qt D-Bus 実装は C++ の例外スロー・メカニズムを使用しないため、リターン・リプライで QDBusError を受け取ることになります(QDBusReply::error() を参照)。

QDBusError オブジェクトは、バスやリモート・アプリケーションから受信したエ ラー名とメッセージを検査するために使用されます。D-Bus から呼び出されたときにエラー状態を通知するために、このようなオブジェクトを自 分で作成しないでください。代わりに、QDBusMessage::createError() およびQDBusConnection::send() を使用してください。

QDBusConnection::send()、QDBusMessageQDBusReplyも参照の こと。

メンバ型ドキュメント

enum QDBusError::ErrorType

D-Bus 実装とバス・デーモン自身によって生成される最も一般的な D-Bus エラーの検証を容易にするために、QDBusError は、事前に定義された値のセットと比較することができます:

定数説明
QDBusError::NoError0QDBusError は無効です(すなわち、呼び出しは成功しました)。
QDBusError::Other1QDBusError よく知られているエラー以外のエラーが含まれています。
QDBusError::Failed2呼び出しに失敗しました (org.freedesktop.DBus.Error.Failed)
QDBusError::NoMemory3メモリ不足 (org.freedesktop.DBus.Error.NoMemory)
QDBusError::ServiceUnknown4呼び出されたサービスが不明 (org.freedesktop.DBus.Error.ServiceUnknown)
QDBusError::NoReply5呼び出されたメソッドが指定されたタイムアウト内に応答しなかった (org.freedesktop.DBus.Error.NoReply)
QDBusError::BadAddress6指定されたアドレスが有効でない (org.freedesktop.DBus.Error.BadAddress)
QDBusError::NotSupported7その呼び出し/操作はサポートされていません (org.freedesktop.DBus.Error.NotSupported)
QDBusError::LimitsExceeded8このプロセス/コール/接続に割り当てられた制限が、事前に定義された値を超えている (org.freedesktop.DBus.Error.LimitsExceeded)
QDBusError::AccessDenied9コール/操作は許可されていないリソースにアクセスしようとしました (org.freedesktop.DBus.Error.AccessDenied)
QDBusError::NoServer10ドキュメントに何のための処理か記載されていない(org.freedesktop.DBus.Error.NoServer)
QDBusError::Timeout11ドキュメントには、これが何に使用されるのか、どのように使用されるのかが書かれていない(org.freedesktop.DBus.Error.Timeout)
QDBusError::NoNetwork12ドキュメントにはこれが何のためにあるのか書かれていない(org.freedesktop.DBus.Error.NoNetwork)
QDBusError::AddressInUse13QDBusServer すでに使用されているアドレスにバインドしようとした ( )org.freedesktop.DBus.Error.AddressInUse
QDBusError::Disconnected14このコール/プロセス/メッセージは、QDBusConnection が切断された後に送信された (org.freedesktop.DBus.Error.Disconnected)
QDBusError::InvalidArgs15このコール/操作に渡された引数が有効でない (org.freedesktop.DBus.Error.InvalidArgs)
QDBusError::UnknownMethod16呼び出されたメソッドが、指定されたパラメータでこのオブジェクト/インターフェースに見つからなかった (org.freedesktop.DBus.Error.UnknownMethod)
QDBusError::TimedOut17ドキュメントに記述がありません...(org.freedesktop.DBus.Error.TimedOut)
QDBusError::InvalidSignature18型シグネチャが有効でないか、互換性がない (org.freedesktop.DBus.Error.InvalidSignature)
QDBusError::UnknownInterface19インターフェイスがこのオブジェクトにない (org.freedesktop.DBus.Error.UnknownInterface)
QDBusError::UnknownObject20オブジェクト・パスが存在しないオブジェクトを指している (org.freedesktop.DBus.Error.UnknownObject)
QDBusError::UnknownProperty21プロパティがこのインタフェースに存在しません (org.freedesktop.DBus.Error.UnknownProperty)
QDBusError::PropertyReadOnly22プロパティが読み取り専用であるため、プロパティ・セットに失敗しました (org.freedesktop.DBus.Error.PropertyReadOnly)
QDBusError::InternalError23内部エラーが発生しました。
QDBusError::InvalidObjectPath25指定されたオブジェクト・パスが無効です。
QDBusError::InvalidService24要求されたサービスが無効です。
QDBusError::InvalidMember27メンバが無効です。
QDBusError::InvalidInterface26インタフェースが無効です。

メンバ関数ドキュメント

[static] QString QDBusError::errorString(QDBusError::ErrorType error)

エラー条件error に関連付けられたエラー名を返す。

bool QDBusError::isValid() const

このエラー状態が有効な場合(すなわち、エラーがあった場合)はtrue を返し、そうでない場合は false を返す。

QString QDBusError::message() const

このエラーに関連付けられたメッセージを返します。エラーメッセージは実装で定義されており、通常は人間が読めるエラーコードを 含んでいます。

QString QDBusError::name() const

このエラーの名前を返す。エラー名は、org.freedesktop.DBus.InvalidArgs のような D-Bus Interface の名前に似ています。

type()も参照

[noexcept] void QDBusError::swap(QDBusError &other)

このQDBusError インスタンスをother と交換します。

QDBusError::ErrorType QDBusError::type() const

このエラーのErrorType を返します。

ErrorTypeも参照してください

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。