[JAVA][패스트캠퍼스]예외처리와 오류

김주현·2021년 5월 7일
0

오류란 무엇인가

  • 컴파일 오류 : 프로그램 코드 작성 중 발생하는 문법적 오류
  • 실행 오류 : 실행중인 프로그램이 의도하지 않은 동작을 하거나 (bug)프로그램이 중지되는 오류(runtime error)
  • 자바는 예외 처리를 통하여 프로그램의 비정상 종료를 막고 log를 남길 수 있음

오류와 예외 클래스

  • 시스템 오류(error) : 가상 머신에서 발생, 프로그래머가 처리할 수 없음, 동적 메모리를 다 사용한 경우, stack over flow 등
  • 예외(Exeception) : 프로그램에서 제어 할 수 있는 오류, 읽으려는 파일이 없는 경우, 네트워이나 소켓 연결 오류 등, 자바 프로그램에서는 예외에 대한 처리를 수행함

예외 클래스

모든 예외 클래스의 최상위 클래스는 Exeption 클래스

try-catch 문으로 예외 처리하기

try{
예외가 발생 할 수 있는 코드 부분
}catch(처리할 예외 타입 e){
try블록 안에서 예외가 발생했을 때 수행되는 부분
}

try-catch-finally 문으로 예외 처리하기

try{
예외가 발생 할 수 있는 코드 부분
}catch(처리할 예외 타입 e){
try블록 안에서 예외가 발생했을 때 수행되는 부분
}finally{
예외 발생여부와 상관없이 항상 수행되는 부분
리소스를 정리하는 코드를 주로 씀
}

try-with-resources 문

  • 리소스를 자동으로 해제 하도록 제공해주는 구문
  • 해당 리소스가 AutoCloseable을 구현한 경우 close()를 명시적으로 호출하지 않아도 try{}블록에서 오픈된 리소스는 정상적인 경우나 예외가 발생한 경우 모두 자동으로 close()가 호출됨
  • 자바 7부터 제공됨
  • FileInputStream의 경우 AutoCloseable을 구현하고 있음

AutoCloseable 인터페이스 사용하기

  • Autocloseable 인터페이스를 구현한 클래스를 만들고 close()가 잘 호출되는지 확인해본다

향상된 try-with-resources문

0개의 댓글

관련 채용 정보