某些 API 擲回 ArgumentNullException

有一些 API 現在會驗證輸入參數,並擲回 ArgumentNullException。之前是在使用 null 輸入引數叫用這些 API 時,才會擲回 NullReferenceException

變更描述

在舊版的 .NET 中,若使用引數 null 叫用受影響的 API,其會擲回 NullReferenceException

自 .NET 6 起,若使用引數 null 叫用受影響的 API,其會擲回 ArgumentNullException

變更類別

此變更會影響二進位相容性

變更原因

擲回 ArgumentNullException 符合 .NET 執行階段的行為。 因為會明確傳達導致例外狀況的引數,所以也提升了偵錯的體驗。

導入的版本

.NET 6

  • 如有必要,請檢查及更新您的程式碼,避免傳遞 null 輸入引數給受影響的 API。
  • 若您的程式碼會處理 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

另請參閱