title: How to handle an exception in Java thrown by a method into another method?
body: <p>Let's suppose I have this class:</p>
  <pre><code>public class Obj1{
  
  ...
  
   public void do_Something(int someParameter) throws SomeException {
       if(...) throw new SomeException();
  ...
   }
  ...
  }
  </code></pre>
  <p>then, somewhere</p>
  <pre><code>public class Obj2{
  ...
    public void do_SomeOtherThing(Obj1 obj1){
      obj1.do_Something();
      //apparently the only solution is try-catching it directly, even if I'm not in the main...
  ...
  }
  </code></pre>
  <p>I've learned that exceptions should only be thrown by METHOD, and catched by MAIN, so, my question is: is try-catch the unique way to handle sub-method exceptions, or the most external method (do_SomeOtherThing) will throw it, so that I can try-catch it directly in main, deleting the try-catch in Object2 class?</p>
  <p>Basically, can I do as follows?</p>
  <pre><code>public static void main(String[] args){
    Object1 obj1 = new Object1();
    Object2 obj2 = new Object2();
    try{
      obj2.do_SomeOtherThing(obj1);
    }
    catch(SomeException e){
     ...
    }
  }
  </code></pre>
  <p>or not?</p>