Java : 오류 및 예외

커비·2024년 11월 15일
0

Java

목록 보기
48/55

오류(Error)

일반적으로 회복이 불가능한 문제

  • 시스템 레벨에서 또는 주로 환경적인 이유로 발생함
  • 코드의 문제로 발생하는 경우도 있지만 일단 발생하는 경우 일반적으로 회복이 불가능함
  • 에러가 발생한 경우 우리는 어떠한 에러로 프로그램이 종료되었는지를 확인하고 대응함

예외(Exception)

일반적으로 회복이 가능한 문제

  • 회복이 가능하다는 전제는 우리가 "그 예외가 발생할 수 있다는 것을 인지하고 대응했을 것 이다"
  • 현실적으로 코드레벨에서 할 수 있는 문제상황에 대한 대응은 "예외처리"에 속한다.

예외의 종류

코드 실행 관점에서의 예외의 종류

컴파일 에러

  • .java 파일을 .class 파일로 컴파일할 때 발생하는 에러
  • 대부분 자바 프로그래밍 언어의 규칙을 지키지 않았기 때문에 발생함
  • 예를 들어 있지 않은 클래스를 호출한다거나 접근이 불가능한 프로퍼티나 메소드에 접근한다거나 하는 경우에 발생함
  • 컴파일 에러가 발생하는 경우 해결 방법은 문법에 맞게 다시 작성하는 것

런타임 에러

  • 주로 다루게 될 예외 에러
  • 문법적인 오류는 아니라서 컴파일은 잘되었지만 "프로그램"이 실행도중 맞닥뜨리게 되는 예외

예외처리 관점에서 예외의 종류

확인된 예외 (Checked Exception)

  • 컴파일 시점에 확인하는 예외
  • 반드시 예외처리를 해줘야하는 예외

미확인된 에러 (Unchecked Exception)

  • 런타임 시점에 확인되는 예외
  • 예외 처리가 반드시 필요하지 않은 예외

🚨 짚고 넘어가기!

컴파일 시점에 확인하는 예외라는 문구 때문에 컴파일 에러와 헷갈리면 안된다!
우리가 이미 특정한 문제를 인지하고 있어서 해당 예외를 정의해두었고 정의해두었기 때문에 컴파일 하는동안 이 예외에 대한 예외처리를 했는지 확인(Check)할 수 있는 예외다.

Checked Exception에 대한 예외처리를 하지 않으면 컴파일 에러가 발생함

profile
전공은 컴퓨터공학, 복수전공은 해킹보안학, 직장은 방학(파워 구직중)

0개의 댓글