1. 컴파일 예외(빌드과정에서 확인 가능)
  2. 로딩 시점 예외(빌드 파일을 실행하는 과정에서 확인 가능)
  3. 런타임 예외(클라이언트가 사용중에 발생하는 예외)
  4. 컴파일 예외가 가장 좋은 예외이며, 런타임 예외는 가장 좋지 못한 예외(프로덕션 관점에서)