Я хотел бы понять, почему происходит следующее поведение, и любые способы достижения того, что мне нужно.
У меня есть основной поток, который запускает работника backgorund для выполнения некоторой обработки.У меня есть фоновый работник, завершивший даже обработчик, где я слушаю любую ошибку.Когда возникает ошибка, я выбрасываю ее и позволяю всплыть обратно в основной поток.Я не хочу обрабатывать ошибку и показывать какое-либо сообщение от фонового рабочего.
Но когда ошибка, наконец, перехвачена в главном потоке, я не вижу фактического сообщения об ошибке, но получаю 'целевой вызов'неизвестная ошибка.Хотелось бы понять, почему и какие способы можно использовать для таких сценариев.
Комментарии: Добавлен образец исходного кода по запросу. Причина, по которой был добавлен WCF, поскольку эта логика закодирована в сценарии службы WCF.Надеюсь, теперь это имеет больше смысла.
class ParentClass
{
static void main()
{
try
{
Thread t = new Thread(new ThreadStart(M1));
t.Start();
// ...
// ...
}
catch
{
// here I dont see the error as 'date time conversion'
// but see a generic error as I mentioned
}
}
static void M1()
{
try
{
Convert.ToDateTime("sss");
}
catch (Exception e)
{
// Here I see the error as 'error in date time conversion'
throw;
}
}
}
Спасибо, Мани