|
|
От: |
Undying
|
|
| Дата: | 04.08.11 08:29 | ||
| Оценка: | |||
AN>try/catch здесь фактически совершенно бесполезны, и NullReferenceException во вновь созданном потоке обработано не будет. Вы поймете почему, если вспомните, что поток имеет свой независимый путь исполнения. Решение состоит в добавлении обработки исключений непосредственно в метод потока
private void worker_DoWork(object sender, DoWorkEventArgs e)
{
...
try
{
loaders[args.Type](args, cancelDelegate, out cancelled);
}
сatch (Exception ex)
{
TraceHlp2.WriteException(ex, "Loader.worker_DoWork");
}
} private void DoWorkOnData(LoadingArgs args, CancelCallback cancelDelegate, out bool cancelled)
{
try
{
List<byte> data =
context.GetData(args.TimeStamp, args.DeviceID, args.DataEncoding);
}
catch
{
throw;
}
}