次の方法で共有


一部の API によって ArgumentNullException がスローされる

一部の API で入力パラメーターが検証されるようになり、入力引数が null で呼び出された場合、以前は NullReferenceException がスローされていたものが、ArgumentNullException がスローされるようになりました。

変更内容

以前のバージョンの .NET では、影響を受ける API を呼び出すときに引数を null にすると、NullReferenceException がスローされます。

.NET 6 以降では、影響を受ける API を呼び出すときに引数を null にすると、ArgumentNullException がスローされます。

カテゴリの変更

この変更はバイナリ互換性に影響を与えます。

変更理由

ArgumentNullException のスローは、.NET ランタイムの動作に準拠しています。 例外の原因になった引数が明確に伝わることにより、デバッグのエクスペリエンスが向上します。

導入されたバージョン

.NET 6

  • コードをレビューし、必要に応じて、影響を受ける API に null 入力引数を渡さないように更新します。
  • コードで NullReferenceException を処理している場合は、置き換えるか、ArgumentNullException 用のハンドラーを別に追加します。

影響を受ける API

次の表に、影響を受ける API と特定のパラメーターの一覧を示します。

メソッド/プロパティ パラメーター名
System.Windows.Forms.TreeNodeCollection.Item[Int32] index
DrawTreeNodeEventArgs(Graphics, TreeNode, Rectangle, TreeNodeStates) graphics
DataGridViewRowStateChangedEventArgs(DataGridViewRow, DataGridViewElementStates) dataGridViewRow
DataGridViewColumnStateChangedEventArgs(DataGridViewColumn, DataGridViewElementStates) dataGridViewColumn

関連項目