WPF DispatcherUnhandledException无效

时间:2014-12-04 14:58:58

标签: c# wpf vb.net exception exception-handling

编辑:

我真的很生气!我已经连接了System.Windows.Application.Current.DispatcherUnhandledException和currentDomain.UnhandledException,我的问题是当我将代码从另一个线程调度到主线程时。当主线程中发生异常时,它会被UnhandledException处理程序而不是DispatcherUnhandledException捕获。这是正确的行为吗?

这是一个示例代码

//main method code
Thread t = new Thread(Thread_function);    
t.Start();

public void Thread_function()
{
    Action startProcessAction = () => function_throwException
    Dispatcher.Invoke(startProcessAction);
}

public void function_throwException()
{
    throw new Exception("only gets caught by currentDomain.UnhandledException!");
}

1 个答案:

答案 0 :(得分:0)

事实证明它就是这样。对我来说没有意义,如果框架会以主线程捕获异常的方式行事,我会更喜欢,但它并不是这样。

所以你最好小心你的代码。