title: Is it wise to use generics for exceptions?
body: <p>My team is in the middle of cleaning up our use of <code>throws Exception</code> and either removing or replacing them with specific exceptions. </p>
  
  <p>A common throws is because an entity was not found. Should we be throwing a generic <code>NotFoundException</code> or a specific <code>SomeClassNotFoundException</code> for each entity class?</p>
  
  <p>If we should be throwing a specific exception, should we be creating a specific Exception class for each entity type? Can we safely use generics? Like this <code>class NotFoundException&lt;T extends EntityBaseClass&gt; extends Exception</code> and then the constructor takes care of declaring what Entity type we're dealing with?</p>
  
  <p>If we should be throwing a specific exception and not using generics, should those exceptions extend or implement a <code>NotFoundException</code> abstract class or interface?</p>