title: What is the general rule of thumbs for creating an Exception in Java?
body: <p>I have been in both situations: </p>
  
  <ul>
  <li>Creating too many custom Exceptions</li>
  <li>Using too many general Exception class</li>
  </ul>
  
  <p>In both cases the project started OK but soon became an overhead to maintain (and refactor).</p>
  
  <p>So what is the best practice regarding the creation of your own Exception classes?</p>