考慮爲一個辦公室下面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