セールス: 1-800-867-1380
情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

Exception.HResult プロパティ

特定の例外に割り当てられているコード化数値である HRESULT を取得または設定します。

名前空間:  System
アセンブリ:  mscorlib (mscorlib.dll 内)

public int HResult { get; protected set; }

プロパティ値

型 : System.Int32
HRESULT 値。

HRESULT は 32 ビットの値で、重大度コード、機能コード、およびエラー コードの 3 つのフィールドに分けられます。 重大度コードは、戻り値が情報、警告、エラーのいずれを表しているかを示します。 機能コードは、エラーの原因になったシステムの領域を識別します。 エラー コードは、例外を表すために割り当てられた一意の数値です。 それぞれの例外は異なる HRESULT に割り当てられます。 マネージ コードが例外をスローすると、ランタイムは COM クライアントに HRESULT を渡します。 アンマネージ コードがエラーを返すと、HRESULT は例外に変換されてから、ランタイムによってスローされます。 HRESULT 値および対応する .NET Framework の例外については、方法: HRESULT に例外を割り当てるを参照してください。

.NET Framework 4.5以降では、HResult のプロパティの設定と取得がパブリックであり、保護されます。.NET Framework の以前のバージョンでは、getter および setter の両方が保護されます。

次のコード例はコンストラクターのカスタム値に HResult のプロパティを設定する Exception の派生クラスを定義します。


// Example for the Exception.HResult property.
using System;

namespace NDP_UE_CS
{
    // Create the derived exception class.
    class SecondLevelException : Exception
    {
        const int SecondLevelHResult = unchecked( (int)0x81234567 );

        // Set HResult for this exception, and include it in 
        // the exception message.
        public SecondLevelException( string message, Exception inner ) :
            base( string.Format( "(HRESULT:0x{1:X8}) {0}", 
                message, SecondLevelHResult ), inner )
        {
            HResult = SecondLevelHResult;
        }
    }

    class HResultDemo 
    {
        public static void Main() 
        {
            Console.WriteLine( 
                "This example of Exception.HResult " +
                "generates the following output.\n" );

            // This function forces a division by 0 and throws 
            // a second exception.
            try
            {
                try
                {
                    int  zero = 0;
                    int  ecks = 1 / zero;
                }
                catch( Exception ex )
                {
                    throw new SecondLevelException( 
                        "Forced a division by 0 and threw " +
                        "a second exception.", ex );
                }
            }
            catch( Exception ex )
            {
                Console.WriteLine( ex.ToString( ) );
            }
        }
    }
}

/*
This example of Exception.HResult generates the following output.

NDP_UE_CS.SecondLevelException: (HRESULT:0x81234567) Forced a division by 0 and
 threw a second exception. ---> System.DivideByZeroException: Attempted to divi
de by zero.
   at NDP_UE_CS.HResultDemo.Main()
   --- End of inner exception stack trace ---
   at NDP_UE_CS.HResultDemo.Main()
*/


.NET Framework

サポート対象 : 4.5.2、4.5.1、4.5、4、3.5、3.0、2.0、1.1、1.0

.NET Framework Client Profile

サポート対象 : 4、3.5 SP1

汎用性のあるクラス ライブラリ

サポート対象 : 汎用性のあるクラス ライブラリ

Windows ストア アプリ用 .NET

サポート対象 : Windows 8

Windows Phone アプリ用 .NET

サポート対象 : Windows Phone 8、Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (サーバー コア ロールはサポート対象外), Windows Server 2008 R2 (SP1 以降でサーバー コア ロールをサポート。Itanium はサポート対象外)

.NET Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。
この情報は役に立ちましたか。
(残り 1500 文字)
フィードバックをいただき、ありがとうございました

コミュニティの追加

表示:
© 2014 Microsoft