checked exception به خطاهایی میگویند که در زمان کامپایل کامپایلر چک میکند
Unchecked exception به خطاهایی که در زمان runtime ممکن است پرتاب شوند
اگر Exception تولید شده از نوع RuntimeException باشد ما مجبور نیستم آنرا Catch یا Throws کنیم مثل NullPointerException , DivisionByZeroException
بدون Catch کردن کد کامپایل میشود