title: Exceptions propagate up Call Stack
body: <p>I'm having a hard time quite understanding the concept, or really the usefulness, of having Exceptions propagate up the call stack. I get how to create them, but I don't really see when they would be used, like in a simple real world application for math or something.</p>
  
  <pre><code>public void method1(){
      try{
          method2();
      }
      catch(Exception e){
          e.printStackTrace();
      }
  }
  
  public void method2(){
        try{
            throw new Exception();
        }
        finally{
           System.out.println("no exception, try cleanup");
        }
  }
  </code></pre>
  
  <p>I get that this is basically how it would work, though it would probably be more involved with more exceptions and functions, but I don't really get the point of using these instead of just having catches in every function.</p>