아자 와자 아자
Published 2023. 2. 27. 15:44
[Java] 프로그램 오류 💻 Study/Java
728x90
728x90
이 게시글은 남궁성의 정석코딩 - 자바의 정석 기초편(2020최신)을 보고 공부한 내용을 정리한 게시글입니다.
틀린 내용이 있을 수 있습니다.

 

 

 

프로그램 오류

컴파일 에러, 런타임 에러, 논리적 에러가 있다.

 

▪ 컴파일 에러(compile-time error)

- 컴파일 할 때 발생하는 에러, 고치기 전까지는 실행할 수 없다

- 자바 컴파일러는 구문체크, 번역, 최적화, 생략된 코드를 추가해준다. 

public class Main {
  public static void main(final String[] args) {
    system.out.println(args[0]);
  }
}

// 컴파일 에러 발생, System의 s가 소문자이다.

 

 


▪ 런타임 에러(runtime error)

- 실행 할 때 발생하는 에러, 실행하다가 에러가 발생해 프로그램이 죽는다.

public class Main {
  public static void main(final String[] args) {
    system.out.println(args[0]);
  }
}

// 런타임 에러 발생, 없는 값을 호출했기 때문이다.
/*
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0
	at Main.main(Main.java:3)
*/

 

런타임 에러의 종류

- 에러(error) : 프로그램 코드에 의해서 수습될 수 없는 심각한 오류 (ex. 메모리 부족으로 죽는 에러 등)

- 예외(exception) : 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류

⇒ 에러는 어쩔 수 없지만, 예외는 처리하자. (예외처리) 

 

 


논리적 에러(logical error)

- 작성 의도와 다르게 동작, 프로그램이 실행은 하는데, 하는데 의도와 다르게 실행된다.

 

 

 

 

 

728x90
728x90
profile

아자 와자 아자

@와자!

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!