본문 바로가기

TIL(Today I Learned)

[20230729 TIL] 컴파일 에러, 빌드 에러, 런타임 에러

* 프로그래밍에서 자주 접하는 에러 유형

컴파일 에러(Compile Error), 빌드 에러(Build Error), 런타임 에러(Runtime Error)가 있다. 

1. 컴파일 에러 (Compile Error):
컴파일 에러는 소스 코드를 컴파일하는 과정에서 발생하는 에러다. IDE에서 프로그래밍을 하다보면 문법 오류가 날 때 에러메시지가 뜨면서 빨간줄이 뜰텐데 컴파일 에러가 났을 때 생기는 현상이다. 프로그래밍 언어는 사람이 이해하는 고수준의 코드를 컴퓨터가 이해할 수 있는 저수준의 바이트 코드로 변환하는 과정을 거쳐야 하는데  컴파일러가 코드를 변환하는 동안 문법 오류(Syntax Error)나 타입 오류(Type Error)와 같은 에러가 발생하면 컴파일 에러가 발생한다. 컴파일 에러가 발생하면 프로그램이 실행되기 전에 컴파일이 멈추며, 실행 파일이 생성되지 않는다.

2. 빌드 에러 (Build Error):
빌드 에러는 빌드 도구(예: Gradle, Maven)를 사용하여 프로젝트를 빌드하는 과정에서 발생하는 에러를 의미합니다. 빌드는 소스 코드를 컴파일하는 과정을 포함하고 있으며, 라이브러리를 종속성으로 추가하고, 실행 가능한 파일 또는 배포 파일을 생성하는 단계를 포함한다. 빌드 도구는 이러한 단계를 자동으로 처리하며, 빌드 에러가 발생하면 빌드 과정이 중단되고 원하는 결과물을 생성하지 못합니다. 만약에 여러 프로젝트를 배포하는 과정에서 참조되는 프로젝트 하나가 빌드 에러가 된다면 jar파이을 제대로 배포하지 못해서 전체 프로젝트에 영향을 줄 수 있다. 

3. 런타임 에러 (Runtime Error):
런타임 에러는 프로그램이 실행되는 도중에 발생하는 에러를 의미합니다. 컴파일은 정상적으로 완료되었지만, 실행 과정에서 예외(Exception)가 발생하거나, 프로그램이 의도하지 않은 동작을 하거나, 특정 조건에서 오류가 발생하는 경우에 런타임 에러가 발생힌다. 개발자가 배포를 완료한 뒤에 화면에서 서비스 테스트를 하는 과정에서 나는 런타임 에러는 프로그램 실행 도중에 발생하므로, 디버깅이나 예외 처리를 통해 문제를 해결할 수 있다.