분류 전체보기(14826)
-
finally의 필요성, finally 구성 형식, finally안에서의 예외, finally 블럭
finally의 필요성· 무조건, 항상 실행되는 것이 아니라, finally와 연결되어 있는 try 블록으로 일단 진입을 하면, 무조건 실행되는 영역이 바로 finally 블록입니다.· try문의 중간에 return 문을 실행하더라도 finally 블록이 실행된 다음에 메소드를 빠져 나가게 됩니다.· 정리하면 예외가 발생하든 발행하지 않든 무조건 수행하는 부분이 바로 finally영역입니다.· finally는 Database처리나 File처리를 할때 꼭 필요한 부분입니다. 이유는 Database를 열거나 또는 File을 열었다면 꼭 닫아주고 난 후 프로그램이 종료되어야 하는 데 이 부분을 finally에서 수행해 주기 때문입니다. finally 구성 형식finally절은 try~catch문과 함께 선언해..
-
throw 예외의 인위적인 발생, 예외를 강제로 발생 활용, throws 예외처리시 이점
throw 예외의 인위적인 발생개발자가 의도적으로 예외를 발생시킬 수 있으며 이 때 throw문을 사용해 인위적으로 예외를 발생시키게 됩니다.생성자에 전달된 문자열은 getMessage() 메소드를 사용하여 오류 메시지로 출력할 수 있습니다. public class ThrowsEx { public void methodE(String[] n)throws Exception{ if(n.length > 0){ for(String s : n) System.out.println(s); }else throw new Exception("배열에 요소가 없습니다."); } public static void main(String[] args) { ThrowsEx te = new ThrowsEx(); try{ te.metho..
-
throws - throws예약어, throws 사용법, throws 예약어를 통한 메서드 선언
throws예약어· try~catch 문으로 예외를 받는다는 것은 어디선가는 예외를 던진다는 것입니다.· 현재 메서드에서 예외처리를 하기가 조금 어려운 상태일 때 현재 영역을 호출해준 곳으로 발생한 예외 객체를 대신 처리해 달라며 양도하는 것입니다. throws 사용법· throws 예약어를 사용하여 발생한 예외객체의 양도는 어디까지나 양도이지 예외에 대한 처리가 아닙니다.· 양도를 받은 곳에서도 다시 양도가 가능하지만 언젠가는 try~catch문으로 예외처리를 해야 프로그램의 진행을 계속 유지 할 수 있습니다.· throws예약어 사용시 예외상황이 메소드 내에서 처리되지 않으면, 메소드를 호출한 영역으로 예외의 처리가 넘어가게 되고 결국 try~catch문으로 예외처리되는 문장을 수행하게됩니다. thr..
-
다중 catch문 - 다중 catch문의 주의 사항, 하위 예외객체가 먼저 온 경우, 상위 예외 객체가 먼저 온 경우, 다중 catch문을 사용시 이점
다중 catch문 다중 catch문은 하나의 try문 내에 여러 개의 예외가 발생 가능할 경우 사용합니다. 예외가 발생하면, try 블록과 가장 가까운 catch 블록부터 순서대로 검사합니다. try{ // 예외 발생 가능한 문장들; } catch(예상되는_예외객체1 변수명){ // 해당 예외가 발생했을 때 수행할 문장들; } catch(예상되는_예외객체2 변수명){ // 해당 예외가 발생했을 때 수행할 문장들; } catch(예상되는_예외객체3 변수명){ // 해당 예외가 발생했을 때 수행할 문장들; } 다중 catch문의 주의 사항· 여러 개의 catch 블록을 사용할 때는 Exception 클래스의 계층 관계에 주의를 기울여야 합니다.· 예외(Exception)에서 가장 상위(parent)에 있는 ..
-
java.lang.Throwable 클래스, JAVA의 예외 종류 및 구조도, 자바프로그램의 예외 처리 과정
java.lang.Throwable · 자바에서 예외처리를 하기 위한 최상위 클래스 · Throwable 클래스를 상속받은 자식 클래스들을 예외처리에서 사용하게 됩니다. · Throwable 클래스를 직접 사용하는 경우는 거의 없습니다. · Throwable 클래스는 모든 예외의 조상이 되는 Exception 클래스와 모든 오류의 조상이 되는 Error 클래스의 부모 클래스입니다. · Throwable 타입과 이 클래스를 상속받은 서브 타입만이 자바 가상 머신(JVM)이나 throw 키워드에 의해 던져질 수 있습니다. JAVA의 예외 종류 및 구조도 자바에서 발생하는 모든 예외는 다음과 같은 구조를 이루면서 각각 객체로 인식됩니다. RuntimeException 클래스를 상속받는 자식 클래스들은 주로 치..
-
exception(예외) - 예외처리(Exception Handleing)에 대한 필요성과 이해, 예외처리 예, 예외 조치
예외(Exception)· 잘못된 코드, 부정확한 데이터, 예외적인 상황에 의하여 발생하는 오류· 프로그래머가 예상하는 일외에 뜻하지 않은 일들이 생길 수 있습니다. 이렇게 예상하지 못한 일들을 ‘예외’라고 하고· 예외를 대비하고 준비하는 것을 ‘예외처리’라고 입니다. 예외처리(Exception Handling)에 대한 필요성과 이해· 자바에서 프로그램 실행 도중에 예외가 발생하면 발생된 그 시점에 프로그램이 바로 종료되게 됩니다.· 경우에 따라서는 예외가 발생 했을 때 프로그램을 종료시키는 것이 좋은 판단일 수도 있습니다. · 하지만 가벼운 예외이거나 예상을 하고 있었던 예외라면 프로그램을 종료시키는 것보다는 해당 예외에 대응하는 적절한 처리를 하는것이 효율적입니다.· 그래서 예외 처리를 통해 프로그램..