2010-10-31 57 views
2

工作,我有这样的代码.NET与展望

For Each objItem In StartFolder.Items      
    MessageBox.Show("to " + objItem.To) 
Next 

如果字段为空(在Outlook中的字母是空的),没有例外,但调试器显示

objItem.To Run-time exception thrown : System.MissingMemberException - Public member 'To' on type 'ReportItem' not found. 

我怎么能抓住这个?因为任何尝试检查属性objItem.To将产生另一个异常

回答

3

不知道你想要做什么:你可以在尝试访问某个特定类型不存在的属性之前测试每个项目的类型(在你的文章中,相关的项目类型是ReportItem).e.g。

For Each objItem In StartFolder.Items 
    '' I think you will need to fully qualify ReportItem with the full namespace... 
    if TypeOf obItem is ReportItem   
     MessageBox.Show("to " + objItem.To) 
Next 
+0

猜你是对的,但怎么样?任何axample? – kusanagi 2010-10-31 01:42:06

+0

不完全,看 - 我使字母循环,一些字母例如有字段填充,所以调用objItem.To工作,但一些字母没有填充属性TO,但这只是因为知道只有当我尝试访问objItem .To,所以我需要以某种方式检查属性 – kusanagi 2010-10-31 02:04:10

0

你可以做一个尝试...赶上具体赶上System.MissingMemberException?