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
Empfohlene Maßnahme
- Ü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 |