当应用程序引发一些异常时,通常所做的是记录异常,显示给用户,并根据其严重程度,我们继续使用应用程序或关闭它。
在某些例外情况下,例如
“调度程序处理暂停时无法执行此操作。”
异常,UI 无法向用户显示消息,我们需要使用 Dispatcher.BeginInvoke 异步向用户显示消息。BeginInvoke 的问题在于它立即返回,并且代码从显示消息框的位置继续执行。在我们需要用户输入的情况下(例如是/否对话框)。
那么,在继续执行代码之前,我们如何安全地显示消息框对话框,并且仍然等待用户执行操作?