title: Why does start() throw an Exception?
body: <p>Why does the following code declare, that an Exception can be thrown?
  Though this is how the method should look according to the <a href="https://docs.oracle.com/javase/8/javafx/api/javafx/application/Application.html" rel="nofollow">javadocs</a>, removing the "throws Exception" part won't lead to a compile error. The documentation doesn't mention why it is necessary.</p>
  
  <pre><code>public class GUI extends Application {
  
      public static void main(String... args) {
          launch(args);
      }
  
      @Override
      public void start(Stage stage) throws Exception {
          BorderPane bp = new BorderPane();
          Scene scene = new Scene(bp, 640, 480);
          stage.setScene(scene);
          stage.show();
      }
  }
  </code></pre>