title: Common underflow and overflow exceptions
body: <p>I am trying to get a hold of overflow and underflow exceptions in java, but couldn't get any nice tutorial. Specifically I wish to learn </p>
  
  <ol>
  <li>How are they different from each other?</li>
  <li>What are the subclasses of these exceptions?</li>
  <li>In which scenario they are thrown?</li>
  <li>Which of them can be handled and how?</li>
  <li>What are the best practice related to them?</li>
  </ol>
  
  <p>Any link to useful tutorial will do</p>