title: Throwing custom exceptions in Java
body: <p>Why do I need to wrap my thrown custom exceptions with <code>try</code>/<code>catch</code> whilst trying to throw them, but I don't have to do that for generic exceptions? Like in the example, my <code>Exception</code> subclass :</p>
  
  <pre><code>public class MyException extends Exception {
      public MyException(String msg) {
          super(msg);
      }
  }
  </code></pre>
  
  <p>Throwing exceptions :</p>
  
  <pre><code>public class Exe {
  
      private static void testex(String test) {
          if (null!=test) {
              throw new UnsupportedAddressTypeException();
          } else {//Removing try/catch block results in compile failure
            try {
              throw new MyException("message");
            } catch (MyException e) {
              e.printStackTrace();
            }
          }
      }
  }
  </code></pre>