예외처리(exception handling)

프로그램 오류

프로그램의 에러에는 크게 컴파일에러런타임에러 2가지가 있다. 추가적으로 논리적에러 예를들어 재고가 음수이거나 의도치않은 결과가 나오는 에러이다.

<aside> 💡 에러 종류

  1. 컴파일 에러 - 컴파일 시 발생하는 에러
  2. 런타임 에러 - 실행 중에 발생하는 에러
  3. 논리적 에러 - 실행은 되지만, 의도와 다르게 동작하는 에러

</aside>

컴파일 에러는 소스코드에 오타나 잘못된 구문, 자료형등이 잘못되었을 때 나타나는 오류이다.

컴파일러나 ide가 알려주기 때문에 수정하기 쉽다.

런타임 에러는 컴파일러가 실행도중에 발생할 수 있는 잠재적인 오류까지는 검출하지 못하기 때문에 발생한다.

예를들어 실행 중 동작이 멈추거나, 갑자기 종료되는 경우이다.

런타임 에러에는 *에러(error)*와 *예외(exception)*로 구분할 수 있다.

에러는 메모리부족, 스택오버플로우 같이 심각한 오류이고 예외는 발생하더라도 수습될 수 있는 덜 심각한 오류이다.

예외에 대비해서 코드를 작성하는 법을 알면 예외로인한 런타임 에러를 막을 수 있다.

예외 클래스의 계층구조

Object클래스의 자손들이다.

모든 예외의 최고 조상은 Exception이며 계층도는 위와 같다.

**RuntimeException**클래스들은 주로 프로그래머들의 실수에 의해서 발생될 수 있는 예외이다.