title: Safe to throw an exception created on another thread C#
body: <p>I want to catch an exception in a thread A, then pass the exception object to a thread B, and throw it from thread B. Is that safe?</p>
  
  <p>Thread A</p>
  
  <pre><code>try {
      // Code that throws exceptions
  } catch (Exception e) {
      sendToOtherThread(e);
  }
  </code></pre>
  
  <p>Thread B</p>
  
  <pre><code>Exception e = receiveException();
  throw e;
  </code></pre>
  
  <p><strong>EDIT</strong></p>
  
  <p>For sake of clarity: I understand how threading works, and how I should pass the object reference from one thread to the other. The question is more about is it safe to throw an exception object from one thread that did not create it or is there any problem with the class <code>Exception</code> itself or the way .NET handles it.</p>