HttpParseException.GetObjectData メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > HttpParseException.GetObjectData メソッドの意味・解説 

HttpParseException.GetObjectData メソッド

派生クラスオーバーライドされた場合は、その例外に関する情報使用して SerializationInfo オブジェクト設定します

名前空間: System.Web
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public Overrides Sub GetObjectData
 ( _
    info As SerializationInfo, _
    context As StreamingContext _
)
Dim instance As HttpParseException
Dim info As SerializationInfo
Dim context As StreamingContext

instance.GetObjectData(info, context)
public override void GetObjectData (
    SerializationInfo info,
    StreamingContext context
)
public:
virtual void GetObjectData (
    SerializationInfo^ info, 
    StreamingContext context
) override
public void GetObjectData (
    SerializationInfo info, 
    StreamingContext context
)
public override function GetObjectData (
    info : SerializationInfo, 
    context : StreamingContext
)

パラメータ

info

スローされている例外に関するシリアル化済みオブジェクト データ保持している SerializationInfo。

context

転送元または転送先に関すコンテキスト情報含んでいる StreamingContext。

例外例外
例外種類条件

ArgumentNullException

info パラメータnull 参照 (Visual Basic では Nothing) です。

解説解説
使用例使用例

GetObjectData メソッド実装するシリアル化可能な派生 Exception クラス定義するコード例次に示します。このメソッドでは、2 つプロパティ小さな変更が行われ、その後基本クラス呼び出されシリアル化実行されます。この例では、0 による除算エラー強制し次に派生 Exception クラスインスタンス作成しますインスタンスファイルシリアル化し、そのファイルを逆シリアル化して新しExceptionスローし、その例外データキャッチし表示します

' Example for the Exception( SerializationInfo, StreamingContext )
' constructor and the Exception.GetObjectData( SerializationInfo, 
' StreamingContext ) method.
'
' If compiling with the Visual Basic compiler (VBC) from the command
 
' prompt, be sure to add the following switch:
'    /reference:System.Runtime.Serialization.Formatters.Soap.dll 
Imports System
Imports System.IO
Imports System.Runtime.Serialization
Imports System.Runtime.Serialization.Formatters.Soap
Imports Microsoft.VisualBasic
Imports System.Security.Permissions

Namespace NDP_UE_VB

    ' Define a serializable derived exception class.
    <Serializable()>  _
    Class SecondLevelException
        Inherits Exception
       
        ' This public constructor is used by class instantiators.
        Public Sub New(
 message As String, inner As
 Exception )
            MyBase.New( message, inner )

            HelpLink = "http://MSDN.Microsoft.com"
            Source = "Exception_Class_Samples"
        End Sub ' New
       
        ' This protected constructor is used for deserialization.
        Protected Sub New(
 info As SerializationInfo, _
            context As StreamingContext )
                MyBase.New( info, context )
        End Sub ' New
           
           
        ' GetObjectData performs a custom serialization.
        <SecurityPermissionAttribute(SecurityAction.Demand, _
                                     SerializationFormatter:=True)> _
        Overrides Sub GetObjectData( info As
 SerializationInfo, _
            context As StreamingContext) 

            ' Change the case of two properties, and then use the 
            ' method of the base class.
            HelpLink = HelpLink.ToLower()
            Source = Source.ToUpper()
              
            MyBase.GetObjectData(info, context)

        End Sub ' ISerializable.GetObjectData
    End Class ' SecondLevelException


    Module SerializationDemo
       
        Sub Main()
            Console.WriteLine( _
                "This example of the Exception constructor "
 & _
                "and Exception.GetObjectData " &
 vbCrLf & _
                "with SerializationInfo and StreamingContext "
 & _
                "parameters generates " & vbCrLf
 & _
                "the following output." & vbCrLf
 )

            ' This code forces a division by 0 and catches the 
            ' resulting exception.
            Try
                Try
                    Dim zero As Integer
 = 0
                    Dim ecks As Integer
 = 1 \ zero

                ' Create a new exception to throw again.
                Catch ex As Exception
                    
                    Dim newExcept As New
 SecondLevelException( _
                        "Forced a division by 0 and threw "
 & _
                        "another exception.", ex )
                    
                    Console.WriteLine( _
                        "Forced a division by 0, caught the "
 & _
                        "resulting exception, " &
 vbCrLf & _
                        "and created a derived exception:"
 & vbCrLf )
                    Console.WriteLine( "HelpLink: {0}",
 _
                        newExcept.HelpLink )
                    Console.WriteLine( "Source:   {0}",
 _
                        newExcept.Source )
                    
                    ' This FileStream is used for the serialization.
                    Dim stream As New
 FileStream( _
                        "NewException.dat", FileMode.Create
 )
                    
                    ' Serialize the derived exception.
                    Try
                        Dim formatter As New
 SoapFormatter( Nothing, _
                            New StreamingContext( _
                                StreamingContextStates.File ) )
                        formatter.Serialize( stream, newExcept )
                           
                        ' Rewind the stream and deserialize the 
                        ' exception.
                        stream.Position = 0
                        Dim deserExcept As
 SecondLevelException = _
                            CType( formatter.Deserialize( stream ), _
                                SecondLevelException )
                           
                        Console.WriteLine( vbCrLf & _
                            "Serialized the exception, and then
 " & _
                            "deserialized the resulting stream
 " & _
                            "into a " & vbCrLf
 & "new exception. " & _
                            "The deserialization changed the case
 " & _
                            "of certain properties:"
 & vbCrLf )
                        
                        ' Throw the deserialized exception again.
                        Throw deserExcept

                    Catch se As SerializationException
                        Console.WriteLine( "Failed to serialize:
 {0}", _
                            se.ToString( ) )

                    Finally
                        stream.Close( )
                    End Try
                End Try

            Catch ex As Exception
                Console.WriteLine( "HelpLink: {0}",
 ex.HelpLink )
                Console.WriteLine( "Source:   {0}",
 ex.Source )

                Console.WriteLine( )
                Console.WriteLine( ex.ToString( ) )
            End Try
        End Sub ' Main

    End Module ' SerializationDemo
End Namespace ' NDP_UE_VB

' This example of the Exception constructor and Exception.GetObjectData
' with SerializationInfo and StreamingContext parameters generates
' the following output.
' 
' Forced a division by 0, caught the resulting exception,
' and created a derived exception:
' 
' HelpLink: http://MSDN.Microsoft.com
' Source:   Exception_Class_Samples
' 
' Serialized the exception, and then deserialized the resulting stream
 into a
' new exception. The deserialization changed the case of certain properties:
' 
' HelpLink: http://msdn.microsoft.com
' Source:   EXCEPTION_CLASS_SAMPLES
' 
' NDP_UE_VB.SecondLevelException: Forced a division by 0 and threw another
 exce
' ption. ---> System.DivideByZeroException: Attempted to divide by
 zero.
'    at NDP_UE_VB.SerializationDemo.Main()
'    --- End of inner exception stack trace ---
'    at NDP_UE_VB.SerializationDemo.Main()
// Example for the Exception( SerializationInfo, StreamingContext )
// constructor and the Exception.GetObjectData( SerializationInfo, 
// StreamingContext ) method.
using System;
using System.IO;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Soap;
using System.Security.Permissions;

namespace NDP_UE_CS
{
    // Define a serializable derived exception class.
    [Serializable()]
    class SecondLevelException : Exception, ISerializable
    {
        // This public constructor is used by class instantiators.
        public SecondLevelException( string
 message, Exception inner ) :
            base( message, inner )
        {
            HelpLink = "http://MSDN.Microsoft.com";
            Source = "Exception_Class_Samples";
        }

        // This protected constructor is used for deserialization.
        protected SecondLevelException( SerializationInfo info,
 
            StreamingContext context ) :
                base( info, context )
        { }

        // GetObjectData performs a custom serialization.
        [SecurityPermissionAttribute(SecurityAction.Demand,SerializationFormatter=true)]
        public override void GetObjectData(
 SerializationInfo info, 
            StreamingContext context ) 
        {
            // Change the case of two properties, and then use the 
            // method of the base class.
            HelpLink = HelpLink.ToLower( );
            Source = Source.ToUpper( );

            base.GetObjectData( info, context );
        }
    }

    class SerializationDemo 
    {
        public static void
 Main() 
        {
            Console.WriteLine( 
                "This example of the Exception constructor " +
                "and Exception.GetObjectData\nwith Serialization" +
                "Info and StreamingContext parameters " +
                "generates \nthe following output.\n" );

            try
            {
                // This code forces a division by 0 and catches the
 
                // resulting exception.
                try
                {
                    int  zero = 0;
                    int  ecks = 1 / zero;
                }
                catch( Exception ex )
                {
                    // Create a new exception to throw again.
                    SecondLevelException newExcept =
                        new SecondLevelException( 
                            "Forced a division by 0 and threw " +
                            "another exception.", ex );

                    Console.WriteLine( 
                        "Forced a division by 0, caught the " +
                        "resulting exception, \n" +
                        "and created a derived exception:\n" );
                    Console.WriteLine( "HelpLink: {0}", 
                        newExcept.HelpLink );
                    Console.WriteLine( "Source:   {0}", 
                        newExcept.Source );

                    // This FileStream is used for the serialization.
                    FileStream stream = 
                        new FileStream( "NewException.dat",
 
                            FileMode.Create );

                    try
                    {
                        // Serialize the derived exception.
                        SoapFormatter formatter = 
                            new SoapFormatter( null
,
                                new StreamingContext( 
                                    StreamingContextStates.File ) );
                        formatter.Serialize( stream, newExcept );

                        // Rewind the stream and deserialize the 
                        // exception.
                        stream.Position = 0;
                        SecondLevelException deserExcept = 
                            (SecondLevelException)
                                formatter.Deserialize( stream );

                        Console.WriteLine( 
                            "\nSerialized the exception, and then " +
                            "deserialized the resulting stream " +
                            "into a \nnew exception. " +
                            "The deserialization changed the case
 " +
                            "of certain properties:\n" );
                        
                        // Throw the deserialized exception again.
                        throw deserExcept;
                    }
                    catch( SerializationException se )
                    {
                        Console.WriteLine( "Failed to serialize: {0}",
 
                            se.ToString( ) );
                    }
                    finally
                    {
                        stream.Close( );
                    }
                }
            }
            catch( Exception ex )
            {
                Console.WriteLine( "HelpLink: {0}", ex.HelpLink );
                Console.WriteLine( "Source:   {0}", ex.Source );

                Console.WriteLine( );
                Console.WriteLine( ex.ToString( ) );
            }
        }
    }
}

/*
This example of the Exception constructor and Exception.GetObjectData
with SerializationInfo and StreamingContext parameters generates
the following output.

Forced a division by 0, caught the resulting exception,
and created a derived exception:

HelpLink: http://MSDN.Microsoft.com
Source:   Exception_Class_Samples

Serialized the exception, and then deserialized the resulting stream into a
new exception. The deserialization changed the case
 of certain properties:

HelpLink: http://msdn.microsoft.com
Source:   EXCEPTION_CLASS_SAMPLES

NDP_UE_CS.SecondLevelException: Forced a division by 0 and threw another except
ion. ---> System.DivideByZeroException: Attempted to divide by zero.
   at NDP_UE_CS.SerializationDemo.Main()
   --- End of inner exception stack trace ---
   at NDP_UE_CS.SerializationDemo.Main()
*/
// Example for the Exception( SerializationInfo, StreamingContext )
// constructor and the Exception.GetObjectData( SerializationInfo, 
// StreamingContext ) method.
#using <System.Runtime.Serialization.Formatters.Soap.dll>

using namespace System;
using namespace System::IO;
using namespace System::Runtime::Serialization;
using namespace System::Runtime::Serialization::Formatters::Soap;

// Define a serializable derived exception class.

[Serializable]
ref class SecondLevelException: public Exception,
 public ISerializable
{
public:

   // This public constructor is used by class instantiators.
   SecondLevelException( String^ message, Exception^ inner )
      : Exception( message, inner )
   {
      HelpLink = "http://MSDN.Microsoft.com";
      Source = "Exception_Class_Samples";
   }


protected:

   // This protected constructor is used for deserialization.
   SecondLevelException( SerializationInfo^ info, StreamingContext context )
      : Exception( info, context )
   {}


public:

   // GetObjectData performs a custom serialization.
   [System::Security::Permissions::SecurityPermissionAttribute
   (System::Security::Permissions::SecurityAction::LinkDemand, 
   Flags=System::Security::Permissions::SecurityPermissionFlag::SerializationFormatter)]
   virtual void GetObjectData( SerializationInfo^ info, StreamingContext
 context ) override
   {
      
      // Change the case of two properties, and then use the 
      // method of the base class.
      HelpLink = HelpLink->ToLower();
      Source = Source->ToUpper();
      Exception::GetObjectData( info, context );
   }

};

int main()
{
   Console::WriteLine( "This example of the Exception constructor "
   "and Exception.GetObjectData\nwith Serialization"
   "Info and StreamingContext parameters "
   "generates \nthe following output.\n" );
   try
   {
      
      // This code forces a division by 0 and catches the 
      // resulting exception.
      try
      {
         int zero = 0;
         int ecks = 1 / zero;
      }
      catch ( Exception^ ex ) 
      {
         
         // Create a new exception to throw again.
         SecondLevelException^ newExcept = gcnew SecondLevelException( "Forced
 a division by 0 and threw "
         "another exception.",ex );
         Console::WriteLine( "Forced a division by 0, caught the "
         "resulting exception, \n"
         "and created a derived exception:\n" );
         Console::WriteLine( "HelpLink: {0}", newExcept->HelpLink );
         Console::WriteLine( "Source:   {0}", newExcept->Source );
         
         // This FileStream is used for the serialization.
         FileStream^ stream = gcnew FileStream( "NewException.dat",FileMode::Create
 );
         try
         {
            
            // Serialize the derived exception.
            SoapFormatter^ formatter = gcnew SoapFormatter( nullptr,StreamingContext(StreamingContextStates::File)
 );
            formatter->Serialize( stream, newExcept );
            
            // Rewind the stream and deserialize the 
            // exception.
            stream->Position = 0;
            SecondLevelException^ deserExcept = dynamic_cast<SecondLevelException^>(formatter->Deserialize(
 stream ));
            Console::WriteLine( "\nSerialized the exception, and then "
            "deserialized the resulting stream "
            "into a \nnew exception. "
            "The deserialization changed the case "
            "of certain properties:\n" );
            
            // Throw the deserialized exception again.
            throw deserExcept;
         }
         catch ( SerializationException^ se ) 
         {
            Console::WriteLine( "Failed to serialize: {0}", se->ToString()
 );
         }
         finally
         {
            stream->Close();
         }

      }

   }
   catch ( Exception^ ex ) 
   {
      Console::WriteLine( "HelpLink: {0}", ex->HelpLink );
      Console::WriteLine( "Source:   {0}", ex->Source );
      Console::WriteLine();
      Console::WriteLine( ex->ToString() );
   }

}

/*
This example of the Exception constructor and Exception.GetObjectData
with SerializationInfo and StreamingContext parameters generates
the following output.

Forced a division by 0, caught the resulting exception,
and created a derived exception:

HelpLink: http://MSDN.Microsoft.com
Source:   Exception_Class_Samples

Serialized the exception, and then deserialized the resulting stream into a
new exception. The deserialization changed the case
 of certain properties:

HelpLink: http://msdn.microsoft.com
Source:   EXCEPTION_CLASS_SAMPLES

SecondLevelException: Forced a division by 0 and threw another exception. --->
 S
ystem.DivideByZeroException: Attempted to divide by zero.
   at main()
   --- End of inner exception stack trace ---
   at main()

*/
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
HttpParseException クラス
HttpParseException メンバ
System.Web 名前空間
SerializationInfo



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

HttpParseException.GetObjectData メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



HttpParseException.GetObjectData メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS