생활코딩/생활코딩 Java

Java_예외 - Resource 와 finally

양상추상츄 2021. 10. 14. 17:48

https://www.youtube.com/watch?v=WSFBl3H-MsE 

 

리소스는 불안정하다

Java가 리소스를 사용하려면 사용하는동안 리소스를 붙잡고 있어야 한다.

리소스를 붙잡고 있다가 놓아주는 메소드가 close() 이다

 


import com.sun.xml.internal.ws.policy.privateutil.PolicyUtils;
 
import java.io.FileWriter;
import java.io.IOException;
 
public class CheckedExceptionApp {
    public static void main(String[] args) {
        FileWriter f = null;
        try {
            f = new FileWriter("data.txt");
            f.write("Hello");
        } catch(IOException e){
            e.printStackTrace();
        } finally {
            // 만약에 f가 null이 아니라면
            if(f  != null) {
                try {
                    f.close();
                } catch(IOException e){
                    e.printStackTrace();
                }
            }
        }
    }
}

finally는 예외가 발생하든 안하든 반드시 실행됨