8-1 프로그램 오류

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

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

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at ExceptionTest.main(ExceptionTest.java:5)
// 문법에는 맞지만 JVM이 실행하면서 문제가 생기는 경우
  1. 논리적 에러(logical error): 작성 의도와 다르게 동작

    컴파일 에러, 런타임 에러가 없이 종료되지 않고 실행은 되지만 작성의도와 다르게 동작하는 것

    코드 잘못 짠 것?

소스코드(.java) 컴파일 → 컴파일러가 클래스 파일(.class) 생성 → 실행 → 런타임 오류 발생

  1. 애러(error) - 프로그램 코드에 의해서 수습될 수 없는 심각한 오류 (ex. OOME 메모리 부족해서 다운)
  2. 예외(exception) - 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류

애러는 어쩔 수 없지만, 예외는 처리하자.

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

목적 - 프로그램의 비정상 종료를 막고, 정상적인 실행상태를 유지하는 것