2014-12-04 125 views
0

編輯:WPF DispatcherUnhandledException不工作

上午快要瘋了這個!我已經連線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!"); 
} 

回答

0

那麼事實證明這只是方式。對我來說,這是沒有道理的,如果框架以主線程捕獲異常的方式行事,我會首選的,但它不是。

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