title: If RuntimeException is thrown, can it be caught as an Exception?
body: <p>If I have a <code>try</code> block that throws a <code>RuntimException</code> subclass, can a subsequent <code>catch</code> block catches it as an <code>Exception</code>? Specifically:</p>
  
  <pre><code>public class MyAppException extends RuntimeException {
      // ....
  }
  
  // In some other part of the code:
  try {
      // Executing this results with doSomething() throwing a MyAppException.
      int x = doSomething();
  } catch(Exception exc) {
      // Does the thrown MyAppException get caught here?
  }
  </code></pre>
  
  <p>My thinking is <em>yes</em>, because a <code>RuntimeException</code> extends <code>Exception</code>. However I have some production code that is not behaving this way. So obviously, if the answer is no, then that's my answer; otherwise I need to dig down and see why my code is breaking bad. Thanks in advance!</p>