1. Topic
  2. throws
    1. Method tells that it throws following exceptions
    2. Method can throw multiple exceptions
    3. Or a Superclass of those multiple excpeption
      1. We should write separate catch blocks for multiple exceptions for clarity in debugging
      2. Multiple catch blocks must be ordered from small to big
        1. If you place big up then first one can catch it , and code in below catch blocks would be unreachable
          1. You would get Unreachable code compilation error
  3. throw
    1. Method throw exception
  4. try / catch
    1. When you call a method that throws some exception , you write your code in try / catch
  5. try / catch / finally
    1. Finally code is always run
    2. If we have return statement in try , then immediately before return finally will run and then return
  6. Compile checks for all except Runtime exceptions
  7. RuntimeExceptions
    1. They are mostly logic errors that must not be checked by compler
  8. Either handle using try/catch or duck it by throws
  9. Rules