Manche APIs lösen ArgumentNullException aus

Einige APIs überprüfen nun Eingabeparameter und lösen beim Aufruf mit null-Eingabeargumenten eine ArgumentNullException aus, wo sie zuvor eine NullReferenceException auslösten.

Änderungsbeschreibung

In früheren .NET-Versionen lösen die betroffenen APIs eine NullReferenceException aus, wenn sie mit einem null-Argument aufgerufen werden.

Ab .NET 6 lösen die betroffenen APIs eine ArgumentNullException aus, wenn sie mit einem null-Argument aufgerufen werden.

Ändern der Kategorie

Diese Änderung kann sich auf die Binärkompatibilität auswirken.

Grund für die Änderung

Das Auslösen von ArgumentNullException entspricht dem .NET Runtime-Verhalten. Es ermöglicht ein besseres Debuggen, weil eindeutig kommuniziert wird, welches Argument die Ausnahme verursacht hat.

Eingeführt in Version

.NET 6

  • Überprüfen Sie den Code, und aktualisieren Sie ihn ggf., um zu verhindern, dass null-Eingabeargumente an die betroffenen APIs übergeben werden.
  • Wenn Ihr Code NullReferenceException behandelt, ersetzen Sie ArgumentNullException durch einen anderen Handler, oder fügen Sie einen zusätzlichen Handler hinzu.

Betroffene APIs

In der folgenden Tabelle sind die betroffenen APIs und spezifischen Parameter aufgeführt:

Methode/Eigenschaft Parametername
System.Windows.Forms.TreeNodeCollection.Item[Int32] index
DrawTreeNodeEventArgs(Graphics, TreeNode, Rectangle, TreeNodeStates) graphics
DataGridViewRowStateChangedEventArgs(DataGridViewRow, DataGridViewElementStates) dataGridViewRow
DataGridViewColumnStateChangedEventArgs(DataGridViewColumn, DataGridViewElementStates) dataGridViewColumn

Siehe auch