The ExceptionDispatchInfo class can be found in System.Runtime.ExceptionServices namespace and is used to capture an exception that occurs at a point, and it can be thrown later using the ExceotionDispatchInfo.Throw method.
See below for an example.
ExceptionDispatchInfo exceptionDispatchInfo = null; try { //code that throws error } catch (Exception ex) { exceptionDispatchInfo = ExceptionDispatchInfo.Capture(ex); }
At a later point in time, you could use the Throw method to throw it, exceptionDispatchInfo.Throw();