Что ж, когда вы вызываете стороннюю библиотеку с ошибками, которая ocasionnaly вызывает nullrefs, вероятно, будет хорошей идеей поймать их, если вы знаете, как правильно с ними обращаться.
Пример из жизни:
В прошлом я довольно широко использовал сетку данных, предоставленную сторонним редактором.
Они имеют (или имели в это время) подтвержденную ошибку, которая время от времени выдает нулевой рефлекс (вложенный глубоко в их стек вызовов) при обновлении некоторых данных в базовом источнике данных.
Я имел дело с ситуацией с этим кодом:
try
{
// do the update
}
catch (NullReferenceException)
{
try
{
// redo the update
}
catch (NullReferenceException ex)
{
// properly log the third party lib failure
}
}
Кстати, мой код журнала никогда не выполнялся за 2 года :)
Теперь сторонний редактор исправил проблему, и мне, вероятно, следует удалить этот код.