为什么我没有通过Com4J接收COM事件?
我正在使用Com4J与Microsoft Outlook进行交互。我根据Com4J教程生成了Java类型定义。以下是一些等待用户关闭电子邮件的代码示例。
// Registers my event handler
mailItem.advise(
ItemEvents.class,
new ItemEvents() {
@Override
public void close(Holder<Boolean> cancel) {
// TODO Auto-generated method stub
super.close(cancel);
System.out.println("Closed");
}
}
);
// Displays the email to the user
mailItem.display();
此代码成功向用户显示电子邮件。不幸的是,当用户关闭窗口时,我的程序永远不会打印"Closed"
。
没有找到相关结果
已邀请:
1 个回复
谷靛
)时,所有生成的方法的默认行为是抛出
(有关详细信息,请参阅
类)。 例如,这是我的匿名类重写的
类的
方法:
因此,当我的匿名类调用
时,父类会抛出一个
,阻止执行到达我的
语句。因此,我的匿名类应该看起来像这样:
让我感到惊讶的是,Com4J似乎完全忽略了从事件处理程序中抛出的ѭ3,让我没有指出实际发生了什么。我写了这段代码来演示:
该程序发出此输出: 准备抛出异常...... 但是,没有迹象表明
曾被抛出。