예외는 Error와 Exception으로 나눠진다.
Error는 개발자가 처리불가능한 예외이고 Exception은 개발자가 처리 가능한 예외이다.
Exception은 RuntimException과 Exception으로 나눌 수 있다
-unchecked
-컴파일시 체크 하지 않는다.
-프로그램 실행 중 에러로 예측이 불가능하다.
-예외를 예상할 수 없기 때문에 catch, throws 사용의 강제성이 없다.
-checked
-컴파일시 체크되는 예외이다.
-예측이 가능하다.
-catch ,throws 사용의 강제성을 가진다.