title: Deriving from Exception classes warning: CA2237: Mark ISerializable types with SerializableAttribute
body: <p>I derived several classes from various exceptions.  Now VS gives warning as in the title of this question.</p>
  
  <ol>
  <li><p>Could someone explain what implications of suppressing this rule?</p></li>
  <li><p>Could you explain rule from <a href="http://msdn.microsoft.com/query/dev11.query?appId=Dev11IDEF1&amp;l=EN-US&amp;k=k(CA2237)&amp;rd=true" rel="nofollow noreferrer">here</a> saying <em>"Do not suppress a warning from this rule for exception classes because they must be serializable to work correctly across application domains."</em>?</p></li>
  </ol>
  
  <p>P.S. Well I've got an answer myself.  You indeed have to mark exceptions as serializable.  They work fine without this attribute in same AppDomain.  However if you try to catch it from some other domain, it will have to get serialized in order to get across app boundaries.  And that is the main reason I found for this.</p>