NullReferenceException NullReferenceException NullReferenceException NullReferenceException Class

定義

null オブジェクト参照を逆参照しようとした場合にスローされる例外。The exception that is thrown when there is an attempt to dereference a null object reference.

public ref class NullReferenceException : SystemException
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class NullReferenceException : SystemException
type NullReferenceException = class
    inherit SystemException
Public Class NullReferenceException
Inherits SystemException
継承
NullReferenceExceptionNullReferenceExceptionNullReferenceExceptionNullReferenceException
属性

注釈

ANullReferenceException値が型のメンバーにアクセスしようとすると、例外がスローされたnullします。A NullReferenceException exception is thrown when you try to access a member on a type whose value is null. ANullReferenceException例外は、通常開発者エラーを反映し、次のシナリオでがスローされます。A NullReferenceException exception typically reflects developer error and is thrown in the following scenarios:

  • 参照型をインスタンス化を忘れてしまった。You've forgotten to instantiate a reference type. 次の例では、names宣言されているがインスタンス化されることはありません。In the following example, names is declared but never instantiated:

    using System;
    using System.Collections.Generic;
    
    public class Example
    {
       public static void Main(string[] args)
       {
          int value = Int32.Parse(args[0]);
          List<String> names;
          if (value > 0)
             names = new List<String>();
          
          names.Add("Major Major Major");       
       }
    }
    // Compilation displays a warning like the following:
    //    Example1.cs(10) : warning BC42104: Variable //names// is used before it 
    //    has been assigned a value. A null reference exception could result 
    //    at runtime.
    //    
    //          names.Add("Major Major Major")
    //          ~~~~~
    // The example displays output like the following output:
    //    Unhandled Exception: System.NullReferenceException: Object reference 
    //    not set to an instance of an object.
    //       at Example.Main()
    
    Imports System.Collections.Generic
    
    Module Example
       Public Sub Main()
          Dim names As List(Of String)
          names.Add("Major Major Major")       
       End Sub
    End Module
    ' Compilation displays a warning like the following:
    '    Example1.vb(10) : warning BC42104: Variable 'names' is used before it 
    '    has been assigned a value. A null reference exception could result 
    '    at runtime.
    '    
    '          names.Add("Major Major Major")
    '          ~~~~~
    ' The example displays output like the following output:
    '    Unhandled Exception: System.NullReferenceException: Object reference 
    '    not set to an instance of an object.
    '       at Example.Main()
    

    このコードをコンパイルするときに、一部のコンパイラは警告を発行します。Some compilers issue a warning when they compile this code. 他のユーザー エラーが発生し、コンパイルは失敗します。Others issue an error, and the compilation fails. この問題に対処するには、オブジェクトをその値が不要になったようにインスタンスnullします。To address this problem, instantiate the object so that its value is no longer null. 次の例では、型のクラスのコンス トラクターを呼び出すことによって。The following example does this by calling a type's class constructor.

    using System;
    using System.Collections.Generic;
    
    public class Example
    {
       public static void Main()
       {
          List<String> names = new List<String>();
          names.Add("Major Major Major");
       }
    }
    
    Imports System.Collections.Generic
    
    Module Example
       Public Sub Main()
          Dim names As New List(Of String)()
          names.Add("Major Major Major")       
       End Sub
    End Module
    
  • これを初期化する前に配列の次元を忘れた場合。You've forgotten to dimension an array before initializing it. 次の例では、values整数の配列として宣言されますが、それに含まれる要素の数が指定されていません。In the following example, values is declared to be an integer array, but the number of elements that it contains is never specified. スローされたため、その値を初期化するために、試行、NullReferenceException例外。The attempt to initialize its values therefore thrown a NullReferenceException exception.

    using System;
    
    public class Example
    {
       public static void Main()
       {
           int[] values = null;
           for (int ctr = 0; ctr <= 9; ctr++)
              values[ctr] = ctr * 2;
              
           foreach (var value in values)
              Console.WriteLine(value);   
       }
    }
    // The example displays the following output:
    //    Unhandled Exception: 
    //       System.NullReferenceException: Object reference not set to an instance of an object.
    //       at Example.Main()
    
    Module Example
       Public Sub Main()
           Dim values() As Integer
           For ctr As Integer = 0 To 9
              values(ctr) = ctr * 2
           Next
              
           For Each value In values
              Console.WriteLine(value)
           Next      
       End Sub
    End Module
    ' The example displays the following output:
    '    Unhandled Exception: 
    '       System.NullReferenceException: Object reference not set to an instance of an object.
    '       at Example.Main()
    

    次の例のように、初期化する前に、配列内の要素の数を宣言することで、例外を取り除くことができます。You can eliminate the exception by declaring the number of elements in the array before initializing it, as the following example does.

    using System;
    
    public class Example
    {
       public static void Main()
       {
           int[] values = new int[10];
           for (int ctr = 0; ctr <= 9; ctr++)
              values[ctr] = ctr * 2;
              
           foreach (var value in values)
              Console.WriteLine(value);   
       }
    }
    // The example displays the following output:
    //    0
    //    2
    //    4
    //    6
    //    8
    //    10
    //    12
    //    14
    //    16
    //    18
    
    Module Example
       Public Sub Main()
           Dim values(9) As Integer
           For ctr As Integer = 0 To 9
              values(ctr) = ctr * 2
           Next
              
           For Each value In values
              Console.WriteLine(value)
           Next      
       End Sub
    End Module
    ' The example displays the following output:
    '    0
    '    2
    '    4
    '    6
    '    8
    '    10
    '    12
    '    14
    '    16
    '    18
    

    宣言して、配列の初期化の詳細については、次を参照してください。配列配列します。For more information on declaring and initializing arrays, see Arrays and Arrays.

  • 取得する、 null 、メソッドから値を返すし、返される型のメソッドを呼び出します。You get a null return value from a method, and then call a method on the returned type. これ場合があります。 ドキュメントのエラーの結果は、メソッド呼び出しが戻ることに注意してください。 ドキュメントが失敗したnullします。This sometimes is the result of a documentation error; the documentation fails to note that a method call can return null. それ以外の場合、コード誤って前提としています、メソッドは常に返します以外null値。In other cases, your code erroneously assumes that the method will always return a non-null value.

    次の例のコードを前提としていますが、Array.Findメソッドは常に返しますPersonオブジェクトFirstNameフィールドに一致する検索文字列。The code in the following example assumes that the Array.Find method always returns Person object whose FirstName field matches a search string. 一致が存在しないために、ランタイム、NullReferenceException例外。Because there is no match, the runtime throws a NullReferenceException exception.

    using System;
    
    public class Example
    {
       public static void Main()
       {
          Person[] persons = Person.AddRange( new String[] { "Abigail", "Abra", 
                                              "Abraham", "Adrian", "Ariella", 
                                              "Arnold", "Aston", "Astor" } );    
          String nameToFind = "Robert";
          Person found = Array.Find(persons, p => p.FirstName == nameToFind);
          Console.WriteLine(found.FirstName);
       }
    }
    
    public class Person
    {
       public static Person[] AddRange(String[] firstNames) 
       {
          Person[] p = new Person[firstNames.Length];
          for (int ctr = 0; ctr < firstNames.Length; ctr++)
             p[ctr] = new Person(firstNames[ctr]);
    
          return p;
       }
       
       public Person(String firstName)
       {
          this.FirstName = firstName;
       } 
       
       public String FirstName;
    }
    // The example displays the following output:
    //       Unhandled Exception: System.NullReferenceException: 
    //       Object reference not set to an instance of an object.
    //          at Example.Main()
    
    Module Example
       Public Sub Main()
          Dim persons() As Person = Person.AddRange( { "Abigail", "Abra",
                                                       "Abraham", "Adrian",
                                                       "Ariella", "Arnold", 
                                                       "Aston", "Astor" } )    
          Dim nameToFind As String = "Robert"
          Dim found As Person = Array.Find(persons, Function(p) p.FirstName = nameToFind)
          Console.WriteLine(found.FirstName)
       End Sub
    End Module
    
    Public Class Person
       Public Shared Function AddRange(firstNames() As String) As Person()
          Dim p(firstNames.Length - 1) As Person
          For ctr As Integer = 0 To firstNames.Length - 1
             p(ctr) = New Person(firstNames(ctr))
          Next   
          Return p
       End Function
       
       Public Sub New(firstName As String)
          Me.FirstName = firstName
       End Sub 
       
       Public FirstName As String
    End Class
    ' The example displays the following output:
    '       Unhandled Exception: System.NullReferenceException: 
    '       Object reference not set to an instance of an object.
    '          at Example.Main()
    

    この問題を解決するには、テスト メソッドの戻り値であることを確認をnullように、次の例では、そのメンバーのいずれかを呼び出す前にします。To address this problem, test the method's return value to ensure that it is not null before calling any of its members, as the following example does.

    using System;
    
    public class Example
    {
       public static void Main()
       {
          Person[] persons = Person.AddRange( new String[] { "Abigail", "Abra", 
                                              "Abraham", "Adrian", "Ariella", 
                                              "Arnold", "Aston", "Astor" } );    
          String nameToFind = "Robert";
          Person found = Array.Find(persons, p => p.FirstName == nameToFind);
          if (found != null)
             Console.WriteLine(found.FirstName);
          else
             Console.WriteLine("{0} not found.", nameToFind);   
       }
    }
    
    public class Person
    {
       public static Person[] AddRange(String[] firstNames) 
       {
          Person[] p = new Person[firstNames.Length];
          for (int ctr = 0; ctr < firstNames.Length; ctr++)
             p[ctr] = new Person(firstNames[ctr]);
    
          return p;
       }
       
       public Person(String firstName)
       {
          this.FirstName = firstName;
       } 
       
       public String FirstName;
    }
    // The example displays the following output:
    //        Robert not found
    
    Module Example
       Public Sub Main()
          Dim persons() As Person = Person.AddRange( { "Abigail", "Abra",
                                                       "Abraham", "Adrian",
                                                       "Ariella", "Arnold", 
                                                       "Aston", "Astor" } )    
          Dim nameToFind As String = "Robert"
          Dim found As Person = Array.Find(persons, Function(p) p.FirstName = nameToFind)
          If found IsNot Nothing Then
             Console.WriteLine(found.FirstName)
          Else
             Console.WriteLine("{0} not found.", nameToFind)
          End If   
       End Sub
    End Module
    
    Public Class Person
       Public Shared Function AddRange(firstNames() As String) As Person()
          Dim p(firstNames.Length - 1) As Person
          For ctr As Integer = 0 To firstNames.Length - 1
             p(ctr) = New Person(firstNames(ctr))
          Next   
          Return p
       End Function
       
       Public Sub New(firstName As String)
          Me.FirstName = firstName
       End Sub 
       
       Public FirstName As String
    End Class
    ' The example displays the following output:
    '       Robert not found
    
  • 式を使用している (たとえば、チェーンしてメソッドまたはプロパティの一覧化) に値を取得し、値は、かどうかをチェックしていることがnull、ランタイムは引き続き、スロー、NullReferenceException例外。You're using an expression (for example, you're chaining a list of methods or properties together) to retrieve a value and, although you're checking whether the value is null, the runtime still throws a NullReferenceException exception. これは、式の中間値のいずれかを返すために発生します。nullします。This occurs because one of the intermediate values in the expression returns null. その結果、テストをnullは評価されません。As a result, your test for null is never evaluated.

    次の例では、定義、Pagesによって提示される、web ページの情報がキャッシュ オブジェクトPageオブジェクト。The following example defines a Pages object that caches information about web pages, which are presented by Page objects. Example.Mainメソッドをチェックするかどうか、現在の web ページが null 以外のタイトルを持つし場合は、タイトルが表示されます。The Example.Main method checks whether the current web page has a non-null title and, if it does, displays the title. このチェックに関係なくただし、メソッドがスローされます、NullReferenceException例外。Despite this check, however, the method throws a NullReferenceException exception.

    using System;
    
    public class Example
    {
       public static void Main()
       {
          var pages = new Pages();
          if (! String.IsNullOrEmpty(pages.CurrentPage.Title)) {
             String title = pages.CurrentPage.Title;
             Console.WriteLine("Current title: '{0}'", title);
          }
       }
    }
    
    public class Pages 
    {
       Page[] page = new Page[10];
       int ctr = 0;
       
       public Page CurrentPage
       {
          get { return page[ctr]; }
          set {
             // Move all the page objects down to accommodate the new one.
             if (ctr > page.GetUpperBound(0)) {
                for (int ndx = 1; ndx <= page.GetUpperBound(0); ndx++)
                   page[ndx - 1] = page[ndx];
             }    
             page[ctr] = value;
             if (ctr < page.GetUpperBound(0))
                ctr++; 
          }
       }
       
       public Page PreviousPage
       {
          get {
             if (ctr == 0) { 
                if (page[0] == null)
                   return null;
                else
                   return page[0];
             }
             else {
                ctr--;
                return page[ctr + 1];
             }
          }
       }         
    }
    
    public class Page
    {
       public Uri URL;
       public String Title;
    }
    // The example displays the following output:
    //    Unhandled Exception: 
    //       System.NullReferenceException: Object reference not set to an instance of an object.
    //       at Example.Main()
    
    Module Example
       Public Sub Main()
          Dim pages As New Pages()
          Dim title As String = pages.CurrentPage.Title
       End Sub
    End Module
    
    Public Class Pages 
       Dim page(9) As Page
       Dim ctr As Integer = 0
       
       Public Property CurrentPage As Page
          Get
             Return page(ctr)
          End Get
          Set
             ' Move all the page objects down to accommodate the new one.
             If ctr > page.GetUpperBound(0) Then
                For ndx As Integer = 1 To page.GetUpperBound(0)
                   page(ndx - 1) = page(ndx)
                Next
             End If    
             page(ctr) = value
             If ctr < page.GetUpperBound(0) Then ctr += 1 
          End Set
       End Property
       
       Public ReadOnly Property PreviousPage As Page
          Get
             If ctr = 0 Then 
                If page(0) Is Nothing Then
                   Return Nothing
                Else
                   Return page(0)
                End If   
             Else
                ctr -= 1
                Return page(ctr + 1)
             End If
          End Get
       End Property         
    End Class
    
    Public Class Page
       Public URL As Uri
       Public Title As String
    End Class
    ' The example displays the following output:
    '    Unhandled Exception: 
    '       System.NullReferenceException: Object reference not set to an instance of an object.
    '       at Example.Main()
    

    例外がスローされますpages.CurrentPage返しますnullページの情報がキャッシュに格納されていない場合。The exception is thrown because pages.CurrentPage returns null if no page information is stored in the cache. 値をテストして、この例外を修正することができます、CurrentPage現在を取得する前にプロパティPageオブジェクトのTitleプロパティでは、次の例としては。This exception can be corrected by testing the value of the CurrentPage property before retrieving the current Page object's Title property, as the following example does:

    using System;
    
    public class Example
    {
       public static void Main()
       {
          var pages = new Pages();
          Page current = pages.CurrentPage;
          if (current != null) {  
             String title = current.Title;
             Console.WriteLine("Current title: '{0}'", title);
          }
          else {
             Console.WriteLine("There is no page information in the cache.");
          }   
       }
    }
    // The example displays the following output:
    //       There is no page information in the cache.
    
    Module Example
       Public Sub Main()
          Dim pages As New Pages()
          Dim current As Page = pages.CurrentPage
          If current IsNot Nothing Then 
             Dim title As String = current.Title
             Console.WriteLine("Current title: '{0}'", title)
          Else
             Console.WriteLine("There is no page information in the cache.")
          End If   
       End Sub
    End Module
    ' The example displays the following output:
    '       There is no page information in the cache.
    
  • 参照型、およびプロセスの要素の 1 つをスローしようを格納する配列の要素を列挙している、NullReferenceException例外。You're enumerating the elements of an array that contains reference types, and your attempt to process one of the elements throws a NullReferenceException exception.

    次の例では、文字列の配列を定義します。The following example defines a string array. Aforステートメントは配列の要素を列挙し、呼び出しの各文字列のTrimメソッドは、文字列を表示する前にします。A for statement enumerates the elements in the array and calls each string's Trim method before displaying the string.

    using System;
    
    public class Example
    {
       public static void Main()
       {
          String[] values = { "one", null, "two" };
          for (int ctr = 0; ctr <= values.GetUpperBound(0); ctr++)
             Console.Write("{0}{1}", values[ctr].Trim(), 
                           ctr == values.GetUpperBound(0) ? "" : ", "); 
          Console.WriteLine();
       }
    }
    // The example displays the following output:
    //    Unhandled Exception: 
    //       System.NullReferenceException: Object reference not set to an instance of an object.
    //       at Example.Main()
    
    Module Example
       Public Sub Main()
          Dim values() As String = { "one", Nothing, "two" }
          For ctr As Integer = 0 To values.GetUpperBound(0)
             Console.Write("{0}{1}", values(ctr).Trim(), 
                           If(ctr = values.GetUpperBound(0), "", ", ")) 
          Next
          Console.WriteLine()
       End Sub
    End Module
    ' The example displays the following output:
    '    Unhandled Exception: System.NullReferenceException: 
    '       Object reference not set to an instance of an object.
    '       at Example.Main()
    

    この例外は、配列要素の値が実際には、配列の各要素は、null 以外の値を含める必要がありますと仮定した場合に発生します。nullします。This exception occurs if you assume that each element of the array must contain a non-null value, and the value of the array element is in fact null. 例外は、要素があるかどうかをテストして、削除できるnullその要素のすべての操作を実行する前に次の例として示します。The exception can be eliminated by testing whether the element is null before performing any operation on that element, as the following example shows.

    using System;
    
    public class Example
    {
       public static void Main()
       {
          String[] values = { "one", null, "two" };
          for (int ctr = 0; ctr <= values.GetUpperBound(0); ctr++)
             Console.Write("{0}{1}", 
                           values[ctr] != null ? values[ctr].Trim() : "", 
                           ctr == values.GetUpperBound(0) ? "" : ", "); 
          Console.WriteLine();
       }
    }
    // The example displays the following output:
    //       one, , two
    
    Module Example
       Public Sub Main()
          Dim values() As String = { "one", Nothing, "two" }
          For ctr As Integer = 0 To values.GetUpperBound(0)
             Console.Write("{0}{1}", 
                           If(values(ctr) IsNot Nothing, values(ctr).Trim(), ""), 
                           If(ctr = values.GetUpperBound(0), "", ", ")) 
          Next
          Console.WriteLine()
       End Sub
    End Module
    ' The example displays the following output:
    '       one, , two
    
  • ANullReferenceExceptionに渡されるメソッドで例外がスローnullします。A NullReferenceException exception is thrown by a method that is passed null. いくつかのメソッドに渡される引数を検証します。Some methods validate the arguments that are passed to them. した場合は、引数の 1 つnullがスローされます、System.ArgumentNullException例外。If they do and one of the arguments is null, the method throws an System.ArgumentNullException exception. それ以外の場合、スロー、NullReferenceException例外。Otherwise, it throws a NullReferenceException exception. 次の例では、このシナリオを示します。The following example illustrates this scenario.

    using System;
    using System.Collections.Generic;
    
    public class Example
    {
       public static void Main()
       {
          List<String> names = GetData();
          PopulateNames(names);
       }
    
       private static void PopulateNames(List<String> names)
       {
          String[] arrNames = { "Dakota", "Samuel", "Nikita",
                                "Koani", "Saya", "Yiska", "Yumaevsky" };
          foreach (var arrName in arrNames)
             names.Add(arrName);
       }
       
       private static List<String> GetData() 
       {
          return null;   
       
       }
    }
    // The example displays output like the following:
    //    Unhandled Exception: System.NullReferenceException: Object reference 
    //    not set to an instance of an object.
    //       at Example.PopulateNames(List`1 names)
    //       at Example.Main()
    
    Imports System.Collections.Generic
    
    Module Example
       Public Sub Main()
          Dim names As List(Of String) = GetData()
          PopulateNames(names)
       End Sub
       
       Private Sub PopulateNames(names As List(Of String))
          Dim arrNames() As String = { "Dakota", "Samuel", "Nikita",
                                       "Koani", "Saya", "Yiska", "Yumaevsky" }
          For Each arrName In arrNames
             names.Add(arrName)
          Next
       End Sub
       
       Private Function GetData() As List(Of String)
          Return Nothing   
       End Function
    End Module
    ' The example displays output like the following:
    '    Unhandled Exception: System.NullReferenceException: Object reference 
    '    not set to an instance of an object.
    '       at Example.PopulateNames(List`1 names)
    '       at Example.Main()
    

    この問題に対処することをメソッドに渡される引数がないことを確認してnullでスローされた例外を処理または、try…catch…finallyブロックします。To address this issue, make sure that the argument passed to the method is not null, or handle the thrown exception in a try…catch…finally block. 詳細については、「 例外で定義されているインターフェイスのプライベート C++ 固有の実装です。For more information, see Exceptions.

次の Microsoft intermediate language (MSIL) 命令のスロー NullReferenceException: callvirtcpblkcpobjinitblkldelem.<type>ldelemaldfldldfldaldind.<type>ldlenstelem.<type>stfldstind.<type>throw、およびunboxします。The following Microsoft intermediate language (MSIL) instructions throw NullReferenceException: callvirt, cpblk, cpobj, initblk, ldelem.<type>, ldelema, ldfld, ldflda, ldind.<type>, ldlen, stelem.<type>, stfld, stind.<type>, throw, and unbox.

NullReferenceException 値は 0x80004003 HRESULT COR_E_NULLREFERENCE を使用します。NullReferenceException uses the HRESULT COR_E_NULLREFERENCE, which has the value 0x80004003.

インスタンスの初期プロパティ値の一覧についてはNullReferenceExceptionを参照してください、NullReferenceExceptionコンス トラクター。For a list of initial property values for an instance of NullReferenceException, see the NullReferenceException constructors.

リリース コードにおける NullReferenceException の処理Handling NullReferenceException in release code

発生した後にそれを処理するよりも、NullReferenceException を回避するために、通常はお勧めします。It's usually better to avoid a NullReferenceException than to handle it after it occurs. 例外の処理によって、コードは管理や理解が難しくなることがあるうえ、他のバグが生じることも考えられます。Handling an exception can make your code harder to maintain and understand, and can sometimes introduce other bugs. NullReferenceException は多くの場合、回復不能なエラーです。A NullReferenceException is often a non-recoverable error. こうした場合、例外によってアプリを停止させることが最良の代替策である可能性があります。In these cases, letting the exception stop the app might be the best alternative.

ただし、次のように、エラーの処理が有用である状況は多く存在します。However, there are many situations where handling the error can be useful:

  • アプリは null であるオブジェクトを無視できます。Your app can ignore objects that are null. たとえば、アプリがデータベース内のレコードを取得して処理する場合、結果として null オブジェクトである、いくつかの不良レコードを無視できる可能性があります。For example, if your app retrieves and processes records in a database, you might be able to ignore some number of bad records that result in null objects. 必要な処理は、ログ ファイルまたはアプリケーションの UI に不良データを記録することだけであることが考えられます。Recording the bad data in a log file or in the application UI might be all you have to do.

  • 例外から回復することができます。You can recover from the exception. たとえば、参照型を返す Web サービスの呼び出しは、接続が失われた場合や接続がタイムアウトした場合には、null を返す可能性があります。接続を再確立し、呼び出しを再度試すことができます。For example, a call to a web service that returns a reference type might return null if the connection is lost or the connection times out. You can attempt to reestablish the connection and try the call again.

  • アプリの状態を有効な状態に復元できます。You can restore the state of your app to a valid state. たとえば、NullReferenceException をスローするメソッドを呼び出す前に、情報をデータ ストアに保存する必要がある、複数手順のタスクを実行していることがあります。For example, you might be performing a multi-step task that requires you to save information to a data store before you call a method that throws a NullReferenceException. 初期化されていないオブジェクトがデータ レコードを破損する可能性がある場合、アプリを終了する前に過去のデータを削除できます。If the uninitialized object would corrupt the data record, you can remove the previous data before you close the app.

  • 例外の報告が推奨されます。You want to report the exception. たとえば、エラーがアプリのユーザーによる間違いに起因する場合、メッセージを生成して、ユーザーが正しい情報を入力するのを支援できます。For example, if the error was caused by a mistake from the user of your app, you can generate a message to help him supply the correct information. 問題の解決に役立てるために、エラーに関する情報をログに記録することもできます。You can also log information about the error to help you fix the problem. ASP.NET などのいくつかのフレームワークには、アプリのクラッシュを防止するために、すべてのエラーをキャプチャする上位レベルの例外ハンドラーが用意されています。このハンドラーを使用した場合、例外をログに記録することが、その例外が発生したことを知る唯一の方法になる可能性があります。Some frameworks, like ASP.NET, have a high-level exception handler that captures all errors to that the app never crashes; in that case, logging the exception might be the only way you can know that it occurs.

コンストラクター

NullReferenceException() NullReferenceException() NullReferenceException() NullReferenceException()

NullReferenceException クラスの新しいインスタンスを初期化し、その Message プロパティの値として、"オブジェクトのインスタンスを指定する必要がある部分に null 値が指定されています" などのシステム提供のエラーを指定します。Initializes a new instance of the NullReferenceException class, setting the Message property of the new instance to a system-supplied message that describes the error, such as "The value 'null' was found where an instance of an object was required." このメッセージには、現在のシステムのカルチャが考慮されます。This message takes into account the current system culture.

NullReferenceException(SerializationInfo, StreamingContext) NullReferenceException(SerializationInfo, StreamingContext) NullReferenceException(SerializationInfo, StreamingContext) NullReferenceException(SerializationInfo, StreamingContext)

シリアル化したデータを使用して、NullReferenceException クラスの新しいインスタンスを初期化します。Initializes a new instance of the NullReferenceException class with serialized data.

NullReferenceException(String) NullReferenceException(String) NullReferenceException(String) NullReferenceException(String)

指定したエラー メッセージを使用して、NullReferenceException クラスの新しいインスタンスを初期化します。Initializes a new instance of the NullReferenceException class with a specified error message.

NullReferenceException(String, Exception) NullReferenceException(String, Exception) NullReferenceException(String, Exception) NullReferenceException(String, Exception)

指定したエラー メッセージおよびこの例外の原因となった内部例外への参照を使用して、NullReferenceException クラスの新しいインスタンスを初期化します。Initializes a new instance of the NullReferenceException class with a specified error message and a reference to the inner exception that is the cause of this exception.

プロパティ

Data Data Data Data

例外に関する追加のユーザー定義情報を提供する、キー/値ペアのコレクションを取得します。Gets a collection of key/value pairs that provide additional user-defined information about the exception.

(Inherited from Exception)
HelpLink HelpLink HelpLink HelpLink

この例外に関連付けられているヘルプ ファイルへのリンクを取得または設定します。Gets or sets a link to the help file associated with this exception.

(Inherited from Exception)
HResult HResult HResult HResult

特定の例外に割り当てられているコード化数値である HRESULT を取得または設定します。Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception.

(Inherited from Exception)
InnerException InnerException InnerException InnerException

現在の例外の原因となる Exception インスタンスを取得します。Gets the Exception instance that caused the current exception.

(Inherited from Exception)
Message Message Message Message

現在の例外を説明するメッセージを取得します。Gets a message that describes the current exception.

(Inherited from Exception)
Source Source Source Source

エラーの原因となるアプリケーションまたはオブジェクトの名前を取得または設定します。Gets or sets the name of the application or the object that causes the error.

(Inherited from Exception)
StackTrace StackTrace StackTrace StackTrace

呼び出し履歴で直前のフレームの文字列形式を取得します。Gets a string representation of the immediate frames on the call stack.

(Inherited from Exception)
TargetSite TargetSite TargetSite TargetSite

現在の例外がスローされたメソッドを取得します。Gets the method that throws the current exception.

(Inherited from Exception)

メソッド

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetBaseException() GetBaseException() GetBaseException() GetBaseException()

派生クラスでオーバーライドされた場合、それ以後に発生する 1 つ以上の例外の主要な原因である Exception を返します。When overridden in a derived class, returns the Exception that is the root cause of one or more subsequent exceptions.

(Inherited from Exception)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext)

派生クラスでオーバーライドされた場合は、その例外に関する情報を使用して SerializationInfo を設定します。When overridden in a derived class, sets the SerializationInfo with information about the exception.

(Inherited from Exception)
GetType() GetType() GetType() GetType()

現在のインスタンスのランタイム型を取得します。Gets the runtime type of the current instance.

(Inherited from Exception)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

現在の例外の文字列形式を作成して返します。Creates and returns a string representation of the current exception.

(Inherited from Exception)

イベント

SerializeObjectState SerializeObjectState SerializeObjectState SerializeObjectState

例外がシリアル化され、例外に関するシリアル化されたデータを含む例外状態オブジェクトが作成されたときに発生します。Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception.

(Inherited from Exception)

適用対象

こちらもご覧ください