try-with-resources

정태규·2022년 12월 15일
0

java

목록 보기
1/7

try-catch 구문을 공부하다 try-with-resources라는 것을 알게 되었다.
java7부터 제공한다고 한다.

InputStream과 OutputStream을 사용할때 보통 finally 구문을 통해 안정적으로 해제하고 있다. 예를 들면,

public static void main(String[] args){
	int[] arr = new int[3];
    try{
    	System.out.println(arr[3]);
        System.out.println(arr[2]);
    } catch(ArrayIndexOutOfBoundsException e){
    	System.out.println("오류발생");
    }finally{
    	System.out.println("finally...");
    }
}

이런식으로 사용한다.

try-with-resources 같은경우는 finally를 통해 해제해줄 필요가 없다. try에 할당된 자원이 Exception 발생시에 자동으로 해제 된다.
try(resource.........; resource...........){ }catch(exception e){ ... } 요런식으로 사용한다.

예제 코드는 다음과 같다.

public static void main(String[] args){
	try(InputStream is = new FileInputStream("fileName");
    OutputStream os = new FileOutputStream("fileName")){
    }catch(IOException e){
    	System.out.println("Exception 발생!");
    }
}

0개의 댓글