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

2024. 9. 7. 00:10·프로그래밍 언어/Java
728x90
반응형


1. 들어가며

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


2. JAVA 예외처리(Exception) 정의

2.1 try-cach 란?

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

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

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

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

2.2 throws 란?

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

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

2.3 throws 란?

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

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

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


3. JAVA 예외처리(Exception) 정의

throws는 메소드메서드 또는 생성자 선언에서 사용되며, 해당 메서드 또는 생성자가 예외를 처리하지 않고 던질 수 있다는 것을 명시하는 데 사용됩니다. 즉, 이 메서드를 호출하는 곳에서 이 예외를 처리해야 함을 알립니다.

throw는 특정 조건에서 직접 예외를 발생시키는 데 사용됩니다. 이는 실행 흐름을 즉시 중단하고 해당 예외를 처리할 수 있는 가장 가까운catch블록으로 제어를 이동시킵니다. 만약 적절한catch블록이 없다면, 이 예외는 메소드를 호출한 곳으로 던져집니다.

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


728x90
반응형

'프로그래밍 언어 > Java' 카테고리의 다른 글

맥 실리콘 M1 환경에서 JDK 버전 변경하기  (0) 2024.09.09
맥 실리콘 M1 환경에서 JDK8 설치하기  (0) 2024.09.08
'프로그래밍 언어/Java' 카테고리의 다른 글
  • 맥 실리콘 M1 환경에서 JDK 버전 변경하기
  • 맥 실리콘 M1 환경에서 JDK8 설치하기
키큰난쟁이
키큰난쟁이
개발 블로그
    반응형
    250x250
  • 키큰난쟁이
    키큰난쟁이의 놀이터
    키큰난쟁이
  • 전체
    오늘
    어제
    • 분류 전체보기 (38)
      • AI (1)
        • AI 응용 (1)
      • 프로그래밍 언어 (5)
        • Java (3)
        • PHP (1)
        • JavaScript (1)
      • 프레임워크 (3)
        • Spring (3)
      • 서버 (8)
        • Web Server (2)
        • WAS (2)
        • Hypervisor (4)
      • 데이터베이스 (5)
        • MySQL•MariaDB (2)
        • Oracle (1)
        • Cubrid (2)
      • 운영체제 (4)
        • Linux (4)
      • 클라우드 (1)
        • Ncloud (1)
      • 데브옵스 (7)
        • VCS (2)
        • CICD (3)
        • Docker (2)
      • 지식 (2)
        • Web (2)
      • 기타 (2)
        • 일상 (2)
  • 블로그 메뉴

    • 일상
  • 링크

    • Instagram
    • github
  • 공지사항

    • 라이믹스 → 티스토리 이사
  • 인기 글

  • 태그

    Apple Silicon
    DBMS
    CI/CD
    devops
    젠킨스
    마리아디비
    java
    db
    깃허브
    docker
    GitHub
    우분투
    애플실리콘
    도커
    프록시모스
    리눅스
    자바
    mariadb
    jenkins
    PROXMOX
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
키큰난쟁이
JAVA 예외처리(Exception) try-catch, throw, throws 무엇인가?
상단으로

티스토리툴바