我想问一下如何能够包含我得到的错误“对象引用未设置为对象的实例。”,nullreferenceException。我正在尝试将我从gridview获取的值赋给变量。我在第一行收到错误。当值为null时,我怎么能处理这种情况。我尝试过使用isnot Nothing但是它仍然给我错误并且isdbnull不会工作,因为我没有处理数据表。
我只在gridview仍然为空时才会出现此错误,我该如何处理。
If Not IsNothing(ProductsRawMaterialGrid.GridViewElement.CurrentRow.Cells("PercentageInMix").Value) Then
PIM = ProductsRawMaterialGrid.GridViewElement.CurrentRow.Cells("PercentageInMix").Value
Else
PIM = FormatNumber("0.00", 2)
End If
答案 0 :(得分:1)
问题在于您不知道代码行中的null
是什么。考虑问题行,你有这个表达式:
ProductsRawMaterialGrid.GridViewElement.CurrentRow.Cells("PercentageInMix").Value
有六件事可以评估该表达式中的null
:
ProductsRawMaterialGrid
可以是null
ProductsRawMaterialGrid.GridViewElement
可以是null
ProductsRawMaterialGrid.GridViewElement.CurrentRow
可以是null
ProductsRawMaterialGrid.GridViewElement.CurrentRow.Cells
可以是null
ProductsRawMaterialGrid.GridViewElement.CurrentRow.Cells("PercentageInMix")
可以是null
ProductsRawMaterialGrid.GridViewElement.CurrentRow.Cells("PercentageInMix").Value
可以是null
您只检查其中一个(最后一个)。不幸的是,如果其他任何人都是null
,您会看到NullReferenceException
。
一个有根据的猜测是,当您调用代码时,CurrentRow
为null
,或者您的小区名称错误且.Cells("PercentageInMix")
为null
。拆分此代码或在调试器中检查它应该可以帮助您解决问题。