title: What is the point in throws clause?
body: <p>I understand the point of checked exceptions: to remind the developer of errors that you need to be aware of.  I also understand the point of not handling some exceptions if you cannot recover from them.  <b>But why is it that</b>, should you decide not to handle a checked error,<b> you have to include a <code>throws</code> statement.</b>  If you run this code, you get a runtime error, and should you comment out the <code>throws</code> statement (and add a <code>{</code> ), you get a compile time error.  This seems pointless to throw the error out of <code>main()</code> if it still interrupts the program.</p>
  
  <pre><code>import java.io.IOException;
  
  public class Blah {
  
      public static void main(String[] args) 
          throws IOException {
  
          throw new IOException();
  
      }
  
  }
  </code></pre>