このページでは

QDBusError Class

QDBusError クラスは、D-Bus バスまたはそのバス上で検出されたリモートアプリケーションから受信したエラーを表します。詳細...

ヘッダー: #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()、QDBusMessage 、およびQDBusReplyも参照してください 。

メンバ型のドキュメント

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::Disconnected14QDBusConnection が切断された後に呼び出し/プロセス/メッセージが送信されました (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 インターフェース名と類似しています。

type()も参照してください 。

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

このエラーを「other 」に置き換えます。この操作は非常に高速で、失敗することはありません。

QDBusError::ErrorType QDBusError::type() const

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

「ErrorType」も参照してください 。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.