/ JAVAJUNGSUK

Ch8-1~3. 프로그램 오류

자바의 정석 기초편

0. 목차



Chapter8. 예외처리

Ch8 - 1. 프로그램 오류

Ch8 - 2. 예외 클래스의 계층구조

Ch8 - 3. Exception과 RuntimeException



Ch8 - 1. 프로그램 오류


▶ 프로그램 오류의 종류 3가지

▷ 컴파일 에러(compile-time error) : 컴파일 할 때 발생하는 에러
▷ 런타임 에러(runtime error) : 실행 할 때 발생하는 에러
▷ 논리적 에러(logical error) : 작성 의도와 다르게 동작하는 에러


▶ 컴파일 에러(compile-time error) : 컴파일 할 때 발생하는 에러

▷ 컴파일러가 하는 일
  • 구문체크
  • 번역
  • 최적화 : 간단한 계산식 계산
  • 생략된 코드 추가


▶ 런타임 에러(runtime error) : 실행 할 때 발생하는 에러

▷ 컴파일 시 모든 에러를 다 잡아주지 않음



▷ 에러(error) : 심각한 오류
▷ 예외(exception) : 다소 미약한 오류

에러는 어쩔 수 없지만, 예외는 처리하자!


▷ 예외처리(exception handling)의 정의

: 프로그램 실행 시 발생할 수 있는 예외의 발생에 대비한 코드 작성

▷ 예외처리(exception handling)의 목적

: 프로그램의 비정상 종료를 막고, 정상적인 실행 상태를 유지

▶ 논리적 에러(logical error) : 작성 의도와 다르게 동작하는 에러

▷ 컴파일 에러 = 실행이 안됨
▷ 런타임 에러 = 실행이 다 되지 않고 프로그램 종료
▷ 논리적 에러 = 프로그램이 다 실행 됨 그러나 생각했던 대로 실행이 안됨
  • 예를 들어, 게임을 하다가 폭탄이 날아오면 터져야 함
  • 하지만 폭탄이 터지지 않는 경우 = 논리적 에러



Ch8 - 2. 예외 클래스의 계층구조


▶ 상속계층도

▷ 미약한 오류와 심각한 오류




Ch8 - 3. Exception과 RuntimeException


▶ Exception 클래스 + 자손들

▷ 사용자의 실수와 같은 외적 요인에 의해 발생하는 예외


▶ RuntimeException 클래스 + 자손들

▷ 프로그래머의 실수로 발생하는 예외