title: What is the difference between ClassNotFoundException and ClassDefNotFoundException
body: <p>What is the difference between <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/ClassNotFoundException.html" rel="nofollow noreferrer"><code>ClassNotFoundException</code></a> and <a href="http://docs.oracle.com/cd/E10926_01/doc/owb.101/b12155/oracle/owb/foundation/reflection/ClassDefNotFoundException.html" rel="nofollow noreferrer"><code>ClassDefNotFoundException</code></a> I know that both are subclass of <code>Exception</code>. </p>
  
  <p>Got some explanation for <code>ClassNotFoundException</code> from this question. <a href="https://stackoverflow.com/questions/1457863/what-is-the-difference-between-noclassdeffounderror-and-classnotfoundexception"><em>What is the difference between NoClassDefFoundError and ClassNotFoundException?</em></a> </p>
  
  <p>I read <a href="http://docs.oracle.com/cd/E10926_01/doc/owb.101/b12155/oracle/owb/foundation/reflection/ClassDefNotFoundException.html" rel="nofollow noreferrer"><em>Java doc</em></a> for <code>ClassDefNotFoundException</code> and it says: </p>
  
  <blockquote>
    <p><em><a href="http://docs.oracle.com/cd/E10926_01/doc/owb.101/b12155/oracle/owb/foundation/reflection/ClassDefNotFoundException.html" rel="nofollow noreferrer">ClassDefNotFoundException</a> is thrown when the definition of a class cannot be found be the OWB typing system.</em></p>
  </blockquote>
  
  <p>Please elaborate above statement, I am unaware of OWB typing system. And what exactly is the difference between both the classed and when these Exceptions are raised.</p>