Niektóre interfejsy API zgłaszają wyjątek ArgumentNullException
Niektóre interfejsy API weryfikują ArgumentNullException teraz parametry wejściowe i zgłaszają, gdzie wcześniej rzucili NullReferenceExceptionelement , jeśli zostały wywołane argumentami wejściowymi null
.
Opis zmiany
W poprzednich wersjach platformy .NET, których dotyczy problem, interfejsy API zgłaszają wywołanie NullReferenceException z argumentem , który jest null
.
Począwszy od platformy .NET 6, objęte interfejsy API zgłaszają ArgumentNullException element w przypadku wywołania z argumentem, który jest .null
Kategoria zmiany
Ta zmiana ma wpływ na zgodność binarną.
Przyczyna wprowadzenia zmiany
Zgłaszanie ArgumentNullException jest zgodne z zachowaniem środowiska uruchomieniowego platformy .NET. Zapewnia lepsze środowisko debugowania, wyraźnie komunikując, który argument spowodował wyjątek.
Wprowadzona wersja
.NET 6
Zalecana akcja
- Przejrzyj i, w razie potrzeby, zaktualizuj kod, aby zapobiec przekazywaniu
null
argumentów wejściowych do dotkniętych interfejsów API. - Jeśli kod obsługuje metodę NullReferenceException, zastąp lub dodaj dodatkową procedurę obsługi dla elementu ArgumentNullException.
Dotyczy interfejsów API
W poniższej tabeli wymieniono objęte interfejsy API i określone parametry:
Metoda/właściwość | Nazwa parametru |
---|---|
System.Windows.Forms.TreeNodeCollection.Item[Int32] | index |
DrawTreeNodeEventArgs(Graphics, TreeNode, Rectangle, TreeNodeStates) | graphics |
DataGridViewRowStateChangedEventArgs(DataGridViewRow, DataGridViewElementStates) | dataGridViewRow |
DataGridViewColumnStateChangedEventArgs(DataGridViewColumn, DataGridViewElementStates) | dataGridViewColumn |