title: Why doesn't Java allow generic subclasses of Throwable?
body: <p>According to the <a href="http://docs.oracle.com/javase/specs/" rel="noreferrer">Java Language Sepecification</a>, 3rd edition:</p>
  
  <blockquote>
    <p><a href="http://docs.oracle.com/javase/specs/jls/se6/html/classes.html#303584" rel="noreferrer">It is a compile-time error if a generic class is a direct or indirect subclass of <code>Throwable</code>.</a></p>
  </blockquote>
  
  <p>I wish to understand why this decision has been made. What's wrong with generic exceptions?</p>
  
  <p>(As far as I know, generics are simply compile-time syntactic sugar, and they will be translated to <code>Object</code> anyway in the <code>.class</code> files, so effectively declaring a generic class is as if everything in it was an <code>Object</code>. Please correct me if I'm wrong.)</p>