2010-11-11 91 views
0

考慮爲一個辦公室下面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並輸出值,但只有當它不是一個例外。

我很確定它爲什麼會發生(某些屬性在此上下文中不可用)。我需要知道的是如何在運行時檢測到這一點,以便我可以跳過該屬性。

我似乎無法找到可行的解決方案。幫助將不勝感激。

+0

我能夠解決這個問題,使用一個帶空catch塊的try ... catch塊,但有沒有更好的方法來做到這一點? – rageingnonsense 2010-11-11 23:29:43

回答

相關問題