考虑为一个办公室下面vb.net代码加载(用于访问):如何检测集合中的“InvalidOperationException”类型的属性?
td = db.TableDefs(objectName)
For Each fld In td.Fields
For Each fldprp In fld.Properties
Debug.Print(fldprp.Value.ToString())
Next
Next
变量“DB”是从“Application.CurrentDB接入VBA返回结果的一个.net表示() ”。 “td”的类型是“DAO.TableDefClass”。
当无法确定fldprp.value属性的值(在Visual Studio中,它在监视窗口中将值显示为{“Invalid Operation。”})时,此代码将引发类型为“InvalidOperationException”的异常。但是,fldprp.name可用。
只有几个属性发生这种情况。我希望能够遍历所有的fld.properties并输出值,但只有当它不是一个例外。
我很确定它为什么会发生(某些属性在此上下文中不可用)。我需要知道的是如何在运行时检测到这一点,以便我可以跳过该属性。
我似乎无法找到可行的解决方案。帮助将不胜感激。
我能够解决这个问题,使用一个带空catch块的try ... catch块,但有没有更好的方法来做到这一点? – rageingnonsense 2010-11-11 23:29:43