• 워드프레스 → 라이믹스 블로그 이전 완료 일주일 동안 열지 않기
  • 목록
  • 아래로
  • 위로
  • 검색

JAVA JAVA 예외처리(Exception) try-catch, throw, throws 무엇인가?

키큰난쟁이 키큰난쟁이
30 0 0

java.png.jpg  


 

들어가며

 

자바(JAVA) 예외처리(Exception)에 대해 정리

 


 

JAVA 예외처리(Exception) 정의

 

try-cach 란?

 

try-catch 블록은 예외가 발생할 수 있는 상황에서 안정적인 프로그램 실행을 위해 사용됩니다. try 블록 안에는 예외가 발생할 가능성이 있는 코드를 넣습니다. 만약 try 블록 내에서 예외가 발생하면, 이후의 코드는 실행되지 않고, 즉시 catch 블록으로 제어가 이동합니다.

 

catch 블록은 발생한 예외를 처리하는 코드를 포함하며, 이는 예외의 유형에 따라 다를 수 있습니다. 예외 객체를 인자로 받아 그 정보를 활용할 수 있습니다. 또한, 여러 종류의 예외를 처리하기 위해 여러 catch 블록을 사용할 수 있습니다.

 

마지막으로 finally 블록은 try-catch 블록 이후에 무조건 실행되는 코드를 포함합니다. finally 블록은 선택적이며, 주로 자원을 해제하는 등의 마무리 작업에 사용됩니다.

 

try {
    // 예외 발생 가능성이 있는 코드
} catch (ExceptionType1 e1) {
    // ExceptionType1 예외를 처리하는 코드
} catch (ExceptionType2 e2) {
    // ExceptionType2 예외를 처리하는 코드
} finally {
    // 무조건 실행되는 코드
}

 

throws 란?

 

throws 키워드는 메소드나 생성자에서 처리하지 않은 예외를 호출한 곳에 알리기 위해 사용됩니다. 메소드나 생성자의 선언부에 이 키워드를 표시함으로써 해당 메소드나 생성자가 특정 유형의 예외를 처리하지 않고 던질 가능성이 있음을 명시적으로 알립니다. 이렇게 하면 해당 메소드나 생성자를 사용하는 측에서는 이를 감안한 적절한 예외 처리를 준비해야 합니다.

 

public void someMethod() throws IOException {
    // 메소드 본문
}

 

throws 란?

 

throw 키워드는 프로그래머가 직접 예외를 발생시키기 위해 사용됩니다. throw 키워드 뒤에는 Throwable 클래스의 하위 클래스인 예외 클래스의 인스턴스가 와야 합니다. 이렇게 하면 그 위치에서 즉시 특정 예외가 발생하며, 이는 주로 특정 조건을 만족하지 않을 때 사용됩니다. 발생시킨 예외는 적절한 catch 블록에서 처리되거나, 해당 메소드에서 throws를 통해 던져져 메소드를 호출한 곳에서 처리됩니다.

 

public void someMethod() {
    if (someConditionNotMet) {
        throw new SomeException("SomeException occurred");
    }
}

 

이런 방식으로 JAVA에서는 trycatchthrowthrows를 이용하여 예외 상황을 효과적으로 처리할 수 있습니다. 이를 통해 프로그램의 안정성과 가독성을 높일 수 있습니다.

 


 

JAVA 예외처리(Exception) 정의

  1. throws는 메소드 또는 생성자 선언에서 사용되며, 해당 메소드 또는 생성자가 예외를 처리하지 않고 던질 수 있다는 것을 명시하는 데 사용됩니다. 즉, 이 메소드를 호출하는 곳에서 이 예외를 처리해야 함을 알립니다.
  2. throw는 특정 조건에서 직접 예외를 발생시키는 데 사용됩니다. 이는 실행 흐름을 즉시 중단하고 해당 예외를 처리할 수 있는 가장 가까운 catch 블록으로 제어를 이동시킵니다. 만약 적절한 catch 블록이 없다면, 이 예외는 메소드를 호출한 곳으로 던져집니다.

이 두 키워드는 상황에 따라 적절하게 사용되어, 예외 상황을 효과적으로 관리할 수 있습니다.

 


 

신고공유스크랩

댓글 0

댓글 쓰기
에디터 모드

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

이 댓글을 삭제하시겠습니까?

공유

퍼머링크