Некоторые API создают исключение ArgumentNullException
Теперь некоторые API проверяют входные параметры и создают исключение ArgumentNullException, тогда как раньше при вызове с входными аргументами null
они создавали исключение 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 |