본문 바로가기
JAVA

throws (자바 키워드)

by yororing 2024. 9. 30.

00 개요

  • throws 키워드는 자바에서 메소드가 특정 예외를 발생시킬 수 있음을 선언하는 데 사용되는 키워드
  • 예외 처리를 강제하며 메소드를 호출하는 쪽에서 예외를 처리하도록 요구함
  • 주로 checked 예외를 다루는 데 사용되며, 런타임 예외는 이 키워드를 사용하지 않고도 처리 가능

 

01 throws 키워드란

1. 정의

  • 메소드 선언에서 사용되어 해당 메소드가 발생시킬 수 있는 예외의 종류를 명시
  • 이로 인해 메소드를 호출하는 코드에서는 이 예외를 처리해야 함을 알게 됨

2. 문법

returnType methodName (parameters) throws ExceptionType1, ExceptionType2 {
    // 메소드 본문
}
  • returnType: 메소드의 반환 데이터 타입 
  • methodName: 메소드의 이름
  • parameters: 메소드의 매개변수 목록
  • ExceptionType1, ExceptionType2: 발생할 수 있는 예외의 유형

3. 예시

public class practiseThrows {
    public static void main(String[] args) {
        Division division = new Division(); // 아래 작성한 Division 클래스로 Division 인스턴스 생성
        try {
            // 10을 0으로 나누기
            double result = division.divide(10, 0);
            System.out.println("Result: " + result);
        } catch (ArithmeticException e) {
            // 0으로 나누면 이 블록이 실행됨
            System.out.println("Cannot divide by zero: " + e.getMessage());
        }
    }

    static class Division {
        // 두 숫자를 나누는 메소드
        double divide (int numerator, int denominator) throws ArithmeticException {
            return numerator / denominator; // 0으로 나누면 예외 발생
        }
    }
}
  • 실행 결과:
Cannot divide by zero: / by zero

Process finished with exit code 0