프로그램 오류란 프로그램 실행 중 오작동하거나 비정상적으로 종료되는 경우를 말한다. 에러의 종류에는 발생 시점으로 구분하는 컴파일 에러와 런타임 에러, 그 외에도 논리적 에러 등이 존재한다.