[java] 예외 던지기 규칙

자바에서는 예외를 던질 때 몇 가지 규칙이 있습니다. 이 규칙을 지키면 코드를 더 깔끔하게 작성할 수 있고, 예외 처리도 더 효율적으로 할 수 있습니다.

1. Checked 예외 vs Unchecked 예외

자바 예외는 크게 Checked 예외Unchecked 예외로 나뉩니다. Checked 예외는 반드시 예외 처리를 해주어야 하며, 메소드 시그니처에 throws 키워드를 사용하여 해당 예외를 선언해주어야 합니다. 반면 Unchecked 예외는 예외 처리를 강제하지 않습니다.

2. 예외 던지기

메소드 내에서 예외를 던질 때는 throw 키워드를 사용합니다.

public void withdraw(int amount) throws InsufficientFundsException {
    if (balance < amount) {
        throw new InsufficientFundsException("Not enough balance");
    }
    // withdraw logic
}

위의 예제에서 InsufficientFundsException은 Checked 예외로, 해당 예외를 던진 withdraw 메소드는 반드시 예외처리를 해주어야 합니다.

3. 예외 처리

예외를 던진 메소드를 호출하는 곳에서는 해당 예외를 처리해주어야 합니다. 이때 try-catch 블록을 사용하여 예외를 처리할 수 있습니다.

try {
    account.withdraw(100);
} catch (InsufficientFundsException e) {
    // handle the exception
}

요약

예외를 던질 때에는 Checked 예외와 Unchecked 예외에 따라 적절한 예외 처리를 해주어야 합니다. 또한, 메소드를 작성할 때 어떤 예외를 던질지 명확히 선언해주어야 합니다.

이러한 예외 처리 규칙을 준수하면 자바 코드의 안정성과 가독성을 높일 수 있습니다.

참고 자료