我有一个带有BackgroundWorker
的WPF窗口。我在这里Send()
方法得到异常:使用BackgroundWorker时未捕获异常
private void worker_DoWork(object sender, DoWorkEventArgs e)
{
smtpClient.Send(mail);
}
该消息又在一个Click
事件被调用一些像这样的按钮:
private async void SendClickAsync(object sender, RoutedEventArgs e)
{
using (MessageServiceClient client = new MessageServiceClient())
{
try
{
[...]
worker.RunWorkerAsync();
}
catch (Exception ex)
{
MessageBox.Show("Error! Check your sender data!", "!", MessageBoxButton.OK, MessageBoxImage.Error);
[...]
}
}
}
为什么这个异常没有得到处理?当我做的不是异步的(一切都在SendClickAsync()
方法)消息框很好地弹出。
+1,你快了:) – Vlad