【发布时间】:2013-12-27 03:24:37
【问题描述】:
我使用 lync Sdk 将 Lync 对话停靠在我自己的 wfp 应用程序中。 问题是,当我尝试像这样停靠对话时:
public void Dock(Conversation conversation, IntPtr host)
{
try
{
ConversationWindow window = _automation.GetConversationWindow(conversation);
if (window.State == ConversationWindowState.Initialized)
{
window.Dock(host);
}
}
catch (Exception ex)
{
}
}
有时,window.State 在验证和停靠之间发生变化,在 Windows 8 上,生成的异常似乎无法捕获,并导致我的应用程序崩溃,而在 Windows 7 上,异常只是捕获。
异常类型为 Microsoft.Lync.Model.NotInitializedException
【问题讨论】:
-
您能否使用 Application (App.cs) DispatcherUnhandledException 事件捕获异常?
-
不,我已经使用 OnDispatcherUnhandledException 捕获了未处理的异常,但似乎根本没有引发异常并且应用程序只是崩溃了。
-
能贴出抛出异常的线程的调用栈吗?如果它不在调度程序线程上,并且该线程不是由您启动的,您可能必须在
AppDomain级别捕获它。 -
使用反汇编程序并查看该异常的定义,看它是否继承自 Exception。微软有不遵守他们告诉我们要遵守的规则的习惯。例如,捕获 SQL 异常通常需要捕获基本 sql 异常类,否则您将永远无法捕获它们。您还可以明确地捕获该异常类型
-
是的,我试图明确地捕获错误,但在这种情况下它不起作用。对不起我迟到的答案。我会尝试使用您建议的反汇编程序。谢谢。
标签: c# windows-8 try-catch lync-client-sdk