CH8-1~3 프로그램 오류, 예외 클래스의 계층구조

[자바의 정석 - 기초편] ch8-1~3 프로그램오류. 예외 클래스의 계층구조(수정됨)

드디어 8장으로 넘어왔다.

프로그램 오류에 대해 배워보자.

오류에는 다음의 세가지가 있다.

  1. 컴파일 에러 - 컴파일 타임에러. 컴파일시 생기는 에러를 말함.
  2. 런타임 에러 - 런타임동안 발생하는 오류
  3. 논리적 에러 - 프로그래머의 의도와 다르게 작동할때.

컴파일 에러부터 알아보자. 우리는 이클립스를 쓰니까.. 이클립스가 컴파일 하기전에 예상되는 컴파일 에러들을 표시해준다. 이클립스를 이용하지 않을때는 모른다. 한번 오류를 일부러 내고 javac로 직접 컴파일 해보자.

Untitled

이렇게 에러난 부분을 알려준다. System클래스는 대문자로 시작하는데, 소스코드에 소문자로 써서 생긴 오류임.

컴파일에러는 대부분 문법오류이다. 왜? 컴파일러가 하는 일 자체가 번역이니까.

요즘에는 컴파일러가 최적화까지 하긴 하지만… 상수끼리 계산 등 간단한 계산은 컴파일러가 계산해서 상수를 바꿔버린다.

또한 생략된 코드도 넣어준다. extends Object등…

문법 오류 없이 만들어서 실행해보자.

public class ExceptionTest {

	public static void main(String[] args) {
		System.out.println(args[0]);
	}
}