Platform::Exception クラス

アプリケーションの実行中に発生したエラーを表します。 カスタム例外クラスは、 Platform::Exceptionから派生できません。 カスタム例外が必要な場合は、 Platform::COMException を使用し、アプリケーション特有の HRESULT を指定できます。

構文

public ref class Exception : Object,    IException,    IPrintable,    IEquatable

メンバー

Exception クラスは、 Object クラス、および IExceptionIPrintable、および IEquatable の各インターフェイスから継承します。

Exception クラスには、次の種類のメンバーもあります。

コンストラクター

メンバー 説明
Exception::Exception Exception クラスの新しいインスタンスを初期化します。

メソッド

Exception クラスは、Platform::Object クラスから、Equals()Finalize()GetHashCode()GetType()MemberwiseClose()、および ToString() メソッドを継承します。 Exception クラスには、次のメソッドもあります。

メンバー 説明
Exception::CreateException 指定された HRESULT 値を表す例外を作成します。

Properties

Exception クラスには、次のプロパティもあります。

メンバー 説明
Exception::HResult 例外に対応する HRESULT。
Exception::Message 例外を説明するメッセージ。 この値は読み取り専用で、 Exception が構築された後は変更できません。

必要条件

サポートされている最低限のクライアント: Windows 8

サポートされている最低限のサーバー: Windows Server 2012

名前空間: Platform

メタデータ: platform.winmd

Exception::CreateException メソッド

指定した HRESULT 値から Platform::Exception^ を作成します。

構文

Exception^ CreateException(int32 hr);
Exception^ CreateException(int32 hr, Platform::String^ message);

パラメーター

人事
通常は COM メソッドを呼び出すことによって取得した HRESULT 値。 この値が 0 であり、S_OK と等しい場合は、このメソッドは Platform::InvalidArgumentException をスローします。成功する COM メソッドが例外をスローすることはないからです。

message
エラーを説明する文字列。

戻り値

エラー HRESULT を表す例外。

解説

COM インターフェイスのメソッドに対する呼び出しなどから、返された HRESULT から例外を作成するには、このメソッドを使用します。 カスタム メッセージを表示するために、String^ パラメーターを受け取るオーバーロードを使用することもできます。

まれに HRESULT を含むことがある Platform::COMException を作成する代わりに、厳密に型指定された例外を作成する CreateException を使用することを強くお勧めします。

Exception::Exception コンストラクター

Exception クラスの新しいインスタンスを初期化します。

構文

Exception(int32 hresult);
Exception(int32 hresult, ::Platform::String^ message);

パラメーター

hresult
例外で表されるエラー HRESULT。

message
例外に関連付けられているユーザー指定のメッセージ (規範的テキストなど)。 一般に、エラーが発生した方法と理由についてできるだけ具体的に説明するメッセージを提供する、2 番目のオーバーロードを優先する必要があります。

Exception::HResult プロパティ

例外に対応する HRESULT。

構文

public:
    property int HResult { int get(); }

プロパティ値

HRESULT 値。

解説

ほとんどの例外は、HRESULT 値の形で返される COM エラーとして開始されます。 C++/CX はこれらの値を Platform::Exception^ オブジェクトに変換し、このプロパティは元のエラー コードの値を格納します。

Exception::Message プロパティ

エラーを説明するメッセージです。

構文

public:property String^ Message;

プロパティ値

Windows ランタイムで発生する例外では、システムで用意されているエラーの説明になります。

解説

Windows 8 では、このプロパティは読み取り専用です。そのバージョンの Windows ランタイムでは、例外が HRESULT として ABI のみに伝達されるためです。 Windows 8.1 では、豊富な例外情報が ABI 経由で伝達され、開発者はカスタム メッセージを提供し、他のコンポーネントにはプログラムでそのメッセージにアクセスすることができます。 詳細については、「例外 (C++/CX)」を参照してください。

関連項目

プラットフォーム名前空間