▸JAVA/기본 문법

예외(Exception) 처리하기_기본개념과 예외처리 클래스 [1/5]

코데방 2019. 12. 12.
728x90

자바에서 오류는 예외(exception)과 에러(Error) 2가지가 있습니다. 아래의 두 가지 설명에서 볼 수 있듯이, 개발자가 코드 내에서 처리할 수 있는 것은 "예외"에 관련된 사항입니다. 

 

[ 예외 (Exception) ]

  • 프로그램 내에서 발생하는 예외상황으로 프로그램 내에서 처리가 가능한 것
  • 배열의 크기에서 벗어난 인덱스에 접근하거나, 없는 파일을 열 때 등에서 발생

[ 에러(Error) ]

  • JVM 내에서 발생하는 에러로 프로그램 내에서 처리가 불가능한 것
  • ThreadDeath나 가상머신(JVM)의 오작동 등을 말함

 

아래는 예외처리를 위한 클래스의 구조입니다. 이름이 모두 직관적이라 좋네요.

 

 


 

예외는 다시 "확인된 예외(Checked Exception)"와 "미확인 예외(Unchecked Exception)"으로 구분됩니다. 확인된 예외의 경우 컴파일 단계에서 에러가 나기 때문에 무조건 처리해주게 되어있지만, 미확인 예외의 경우는 개발자가 판단해서 처리하기 때문에 더 신경을 많이 써줘야 합니다. 

 

[ 확인된 예외(checked exception) ]

  • 잘못된 코드가 아닌 잘못된 상황에서 발생하는 예외
  • 파일 열기와 같이 정확한 코드로 구현했음에도, 외부 환경(파일이 없는 상황 등)에 따라 발생 가능
  • 예외처리를 구현하지 않으면 컴파일 에러 발생 (컴파일 시 확인해서 확인된 예외)
  • RuntimeException 이외의 예외들

[ 미확인 예외(unchecked exception) ]

  • 런타임 시 잘못 구현된 코드로 인해 발생하는 예외
  • 컴파일 에러가 나지 않지만 적절한 예외처리가 없을 경우 프로그램이 강제 종료
  • 컴파일 시 확인하지 않기 때문에 미확인 예외
  • RuntimeException에 포함된 예외들

 

 

예외처리를 위한 다양한 방법들은 다음글들을 보시면 됩니다.

2019/12/12 - [JAVA/기본 문법] - 예외(Exception) 처리하기_'try-catch-finally'문 [2/5]

2019/12/12 - [JAVA/기본 문법] - 예외(Exception) 처리하기_'try-with-resources'문 [3/5]

2019/12/13 - [JAVA/기본 문법] - 예외(Exception) 처리하기_throws [4/5]

2019/12/13 - [JAVA/기본 문법] - 예외(Exception) 처리하기_사용자 정의 예외 객체(throw) [5/5]

728x90

댓글

💲 추천 글