обработка ошибок с помощью BackgroundWorker

Я знаю, что вы можете обрабатывать ошибки BackgroundWorker в обработчике RunWorkerCompleted, как в следующем коде

var worker = new BackgroundWorker();
worker.DoWork += (sender, e) => 
    { 
        throw new InvalidOperationException("oh shiznit!"); 
    };
worker.RunWorkerCompleted += (sender, e) =>
    {
        if(e.Error != null)
        {
            MessageBox.Show("There was an error! " + e.Error.ToString());
        }
    };
worker.RunWorkerAsync();

Но моя проблема в том, что я все еще получаю сообщение: ошибка была исправлена ​​в пользовательском коде в строке

 throw new InvalidOperationException("oh shiznit!"); 

Как я могу решить эту проблему?

5
задан mike 19 October 2010 в 08:36
поделиться