Мне нужно перебросить исключение, которое было перехвачено и сохранено в другом месте без потери информации трассировки стека о том, когда исключение было впервые перехвачено / сохранено.Мой код выглядит примерно так:
public void Test()
{
int someParameter = 12;
ExecuteSomeAsyncMethod(someParameter, CallbackMethod);
}
public void CallbackMethod(object result, Exception error)
{
//Check for exceptions that were previously caught and passed to us
if(error != null)
//Throwing like this will lose the stack trace already in Exception
//We'd like to be able to rethrow it without overwriting the stack trace
throw error;
//Success case: Process 'result'...etc...
}
Я видел решения этой проблемы, которые используют отражение (например, здесь и здесь ) или используют сериализацию (например здесь ), но ни один из них не будет работать для меня в Silverlight (личное отражение не допускается, а классы / методы, используемые в методе сериализации, не существуют в Silverlight).
Есть ли способ сохранить трассировку стека, которая работает в Silverlight?