У меня есть довольно простой фрагмент кода:Исключение Null Reference при проверке строки для Null?
Private _PurchaseDelivery as PurchaseDelivery
Protected Overrides Sub InsertItem(ByVal index As Integer, ByVal item As PurchaseDeliveryItem)
Dim SKUBin As SKUBin
If _PurchaseDelivery IsNot Nothing AndAlso _PurchaseDelivery.DefaultSKUBinID.HasValue Then
SKUBin = item.StockOrderUnit.SKU.SKUBins.GetByBinID(_PurchaseDelivery.DefaultSKUBinID.Value)
item.SKUBin = SKUBin
End If
MyBase.InsertItem(index, item)
End Sub
Что находится внутри класса, который переопределяет пользовательский список базы. Код occassionaly бросать необработанное исключение, System.NullReferenceException
, на этой линии при использовании в производстве:
If _PurchaseDelivery IsNot Nothing AndAlso _PurchaseDelivery.DefaultSKUBinID.HasValue Then
DeafultSKUBinID объявлен как Integer?
(Nullable Int) в PurchaseDelivery
классе. Я не вижу, что может вызвать эту ошибку, почему бы это вернуть ошибку?
Не удается воспроизвести с прикрепленным отладчиком? Может быть, это немного другая сборка? Несоответствие номера строки? –
Спасибо. Такая же сборка (точно такая же сборка) и не может воспроизводиться с прикрепленным отладчиком или на любой машине Dev. Перекомпилирован (чтобы убедиться, что это не какая-то причуда) и все еще происходит. Очень редко, но очень странно. – Molloch