title: Double checking exception and try-catch logic
body: <p>So just started this unit and answered a couple questions outta my book. Do my answers show proper understanding of exceptions and try-catch blocks? Wanted to verify this before i start working with try-catch blocks/exceptions :)</p>
  
  <ol>
  <li><p>What classes (and their subclasses) are examples of unchecked exceptions? </p>
  
  <p>Answer: IOExceptions, ClassNotFoundException, RuntimeException (its subclasses: ArithmeticException, NullPointerException, IndexOutOfBoundsException, IllegalArgumentException</p></li>
  <li><p>What are the two different ways that a programmer can deal with checked exceptions to avoid compil   </p>
  
  <p>Answer: Use either a try-catch block or declare the exception in the method header beforehand.</p></li>
  <li><p>Describe the steps that occur when an exception is not caught in the current method</p>
  
  <p>Answer: If an exception is not caught in the current method, Java exits this method, passes the exception to the method that invoke the method, and continues the same process to find a handler. If no handler found in the chain of methods being invoked, then the program terminates and prints an error message on the console. (ths process of finding the ‘handler’ is called catching and exception. </p></li>
  <li><p>How is a ‘chained exception’ different from an exception that has been rethrown? </p>
  
  <p>Answer: A rethrown exception occurs when the handler cannot process the exception or simply wants to let its caller be notified of the exception. A chained exception is when you throw an exception along with another exception. Syntax for rethrowing exception: throw ex(ex = object reference) Syntax for chained exception: throw new Exception(“message…”, ex);</p></li>
  </ol>