title: Does Java declare "throws Exception" by default?
body: <p>Consider following classes:</p>
  
  <pre><code>class X
  {
  public void met()
     {
     }
  }
  </code></pre>
  
  <p>and</p>
  
  <pre><code>class Y extends X
  {
      public void met() throws NullPointerException
      {
          throw new NullPointerException();
      }
  }
  </code></pre>
  
  <p>From what I have read on other questions ( <a href="https://stackoverflow.com/questions/5875414/why-cant-overriding-methods-throw-exceptions-broader-than-the-overriden-method">Why can&#39;t overriding methods throw exceptions broader than the overridden method?</a> and <a href="https://stackoverflow.com/questions/26883510/java-method-throwing-exception">Java method throwing exception</a> )</p>
  
  <p>I understand that the overriding method in the subclass, has to throw either the same or a subclass of the exception thrown in the overridden method.</p>
  
  <p><strong>Do Java methods always throw at least an exception of the type Exception?</strong></p>
  
  <p>...In other words the compiler adds <em>throws Exception</em></p>
  
  <p>So the class X would look like this</p>
  
  <pre><code>class X {
      public void met() throws Exception {
  
      }
  }
  </code></pre>
  
  <p><strong>I want to clarify that I am not mistaken</strong> about the fact that the default exception handler Exception is always added.</p>
  
  <p><strong>Related questions:</strong></p>
  
  <p><a href="https://stackoverflow.com/questions/18416511/ioexception-vs-runtimeexception-java">IOException vs RuntimeException Java</a></p>