今更だけど違いについて
違いはロジックによって
「回避できるか」
「回避できないか」
ExceptionのサブクラスであるIOException
たとえば開こうとしたファイルが他のプロセスにロックされていた場合に発生する
これはロジックで回避できない
RuntimeExceptionのサブクラスであるNullPointerException
ロジックでヌルチェックを入れるだけで絶対に発生しない
たぶんこんな感じ
違いはロジックによって
「回避できるか」
「回避できないか」
ExceptionのサブクラスであるIOException
たとえば開こうとしたファイルが他のプロセスにロックされていた場合に発生する
これはロジックで回避できない
RuntimeExceptionのサブクラスであるNullPointerException
ロジックでヌルチェックを入れるだけで絶対に発生しない
たぶんこんな感じ