예외처리 2

[JAVA] 자동 자원 반환 try-with-resources

JDK1.7부터 try-catch-resources문이라는 try-catch문의 변형이 새로 추가되었다. 이 구문은 입출력(I/O)과 관련된 클래스를 사용할 때 유용하다. 주로 입출력에 사용되는 클래스 중에서는 사용한 후에 꼭 닫아 줘야 하는 것들이 있다. 그래서 사용했던 자원(resources)이 반환되기 때문이다. 🙄하지만 그렇게 사용하지 않고 finally를 사용하여 닫아주면 안 되는 건가? try{ fis = new FileInputStream("score.dat"); dis = new DataInputStream(fis); }catch(IOException ie){ ie.printStackTrace(); } finally { dis.close(); } 위 코드처럼 할 경우 별 문제가 없어 보인다..

[JAVA] finally 블럭

finally 블록은 예외의 발생 여부에 상관없이 실행되어야 할 코드를 포함시킬 목적으로 사용된다. try-catch문의 끝에 선택적으로 덧붙여 사용할 수 있으며, try-catch-finally 순서로 구성된다. try{ // 예외가 발생할 가능성이 있는 문장들을 넣는다. }catch(Exception e1){ // 예외처리를 위한 문장을 적는다. }finally{ // 예외의 발생여부에 관계없이 항상 수행되어야하는 문장들을 넣는다. // finally 블럭은 try-catch 문의 마지막에 위치해야한다. } 예외 발생한 경우 : try → catch → finally 순으로 진행 예외가 발생하지 않은 경우 : try → finally 순으로 진행 ✅ 정리 finally는 예외가 생겨도 무조건 실행되는..

728x90