TRY CATCH

김상원·2023년 9월 18일
0

자바 공부

목록 보기
2/2

try - catch 문을 알기 전에 예외(exception)을 먼저 알고 가보자

  • 예외
    프로그램 실행 중에 발생되는 의도하지 않은 문제 발생을 의미합니다.
    예외가 발생되면 프로그램은 비정상종료 됩니다.

  • 예외처리
    예외발생시 비정상 종료 되는 프로그램을 정상종료 로 처리하는 작업을 의미 합니다.


예외 클래스 계층 구조

일반적으로 Exception 클래스를 예외 클래스의 최상위 클래스로 간주합니다.


예외 종류 2가지

1) compile checked 예외

  • 컴파일시 예외처리 여부를 컴파일러가 체크하여 예외처리가 안되어 있으면 컴파일 에러가 발생됩니다.
  • IOException 과 SQLException 계열에 해당됩니다. 이것은 자바 I/O 및 데이터베이스 관련 작업을 수행하는 메서드를 사용하기 위해 반드시 예외처리를 해야 합니다.

2) compile unchecked 예외

  • 컴파일시 예외처리 여부를 컴파일러가 체크하지 않습니다. 컴파일러가 체크하지 않는 이유는 개발자가 조건문 코드를 추가 작성하면 발생되지 않을 예외기 때문입니다.
  • RuntimeException 계열에 해당되고 NullPointerException, ArithmeticException, ArrayIndexOutofBoundsException, ClassCastException 등이 있습니다.

1) try - catch

예외가 발생된 곳에서 예외를 처리하는 방법입니다.

try {

//예외발생할 가능성이 있는 문장 
    
}catch(Exception1 e1) {

 //Exception1이 발생했을 경우, 이를 처리하지 위한 문장적는다.
 //보통 이곳에 예외메세지를 출력하고 로그로 남김.
 
}catch(Exception2 e2) {

 //Exception2이 발생했을 경우, 이를 처리하지 위한 문장적는다.
 
}catch(ExceptionN eN) {

 //ExceptionN이 발생했을 경우, 이를 처리하지 위한 문장적는다.
 
}finally{

//예외발생여부에 관계없이 상항 수행되어야 하는 문장적는다.

}

try 문에서 Exception 예외가 발생할 경우 catch(Exception e)로 빠져서 그 안의 실행문을 실행시킵니다.
마지막의 finally 문은 예외 발생 여부와 상관없이 항상 실행되어야 하는 문장을 지정합니다.


2) throws 문

예외가 발생된 곳이 아닌 호출한 메서드로 예외처리를 위임하는 방식입니다.

throws 문을 이용해서 예외처리 하는 대표적인 경우

  • 사용자가 지정한 특정조건에 위배될 경우에 예외를 명시적으로 발생시켜 처리하기 위함일 때.
  • 발생된 시스템 예외클래스 대신에 사용자가 만든 예외클래스로 처리하기 위함일 때.
profile
코린이 입니당 잘부탁드려요~

0개의 댓글