title: How to differentiate between Programmer and JVM Exceptions
body: <hr>
  
  <hr>
  
  <p>As the <strong>title</strong> suggests, how can I tell a <strong>JVM thrown exception</strong> from a <strong>Programmatically</strong>(does this mean, thrown by a programmer or the program) <strong>thrown exception</strong> ?</p>
  
  <hr>
  
  <p><strong>JVM Exceptions</strong></p>
  
  <hr>
  
  <p><strong>1)</strong> ArrayIndexOutOfBoundsException</p>
  
  <p><strong>2)</strong> ClassCastException</p>
  
  <p><strong>3)</strong> NullPointerException</p>
  
  <hr>
  
  <hr>
  
  <p><strong>Programmatically thrown</strong></p>
  
  <hr>
  
  <p><strong>1)</strong> NumberFormatException</p>
  
  <p><strong>2)</strong> AssertionError</p>
  
  <hr>
  
  <p><strong><em>Many Thanks</em></strong></p>