[shell] 예외 발생 시 다양한 종류의 메시지 출력 방법

소프트웨어를 개발할 때 예외 처리는 중요한 부분입니다. 예외 처리를 효과적으로 하려면 예외가 발생할 때 메시지를 적절하게 출력해야 합니다. 여기에서는 다양한 방법으로 예외 메시지를 출력하는 방법을 살펴보겠습니다.

1. try-catch 문을 이용한 방법

try {
    // 예외가 발생할 수 있는 코드
} catch (Exception e) {
    // 예외가 발생했을 때 메시지 출력
    System.out.println("에러 메시지: " + e.getMessage());
    e.printStackTrace(); // 스택 트레이스 출력
}

try-catch 문을 사용하여 예외가 발생했을 때 catch 블록에서 해당 예외의 메시지를 출력할 수 있습니다. 또한 printStackTrace 메소드를 통해 스택 트레이스도 출력할 수 있습니다.

2. 로거를 이용한 방법

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class MyClass {
    private static final Logger logger = LoggerFactory.getLogger(MyClass.class);

    public void myMethod() {
        try {
            // 예외가 발생할 수 있는 코드
        } catch (Exception e) {
            // 예외가 발생했을 때 로그 출력
            logger.error("에러 메시지: {}", e.getMessage(), e);
        }
    }
}

로거를 이용하여 예외가 발생했을 때 에러 로그를 출력할 수 있습니다. SLF4J와 Logback, Log4j 같은 로깅 프레임워크를 사용할 수 있습니다.

3. 사용자 정의 예외 클래스를 이용한 방법

public class CustomException extends Exception {
    public CustomException(String message) {
        super(message);
    }
}

public class MyClass {
    public void myMethod() throws CustomException {
        try {
            // 예외가 발생할 수 있는 코드
        } catch (Exception e) {
            // 예외를 잡아서 새로운 사용자 정의 예외를 던짐
            throw new CustomException("에러 메시지: " + e.getMessage());
        }
    }
}

사용자 정의 예외 클래스를 만들어 예외가 발생했을 때 해당 예외 클래스를 던질 수 있습니다. 이때 사용자 정의 예외 클래스의 생성자에서 메시지를 지정할 수 있습니다.

결론

위에 제시된 세 가지 방법은 예외가 발생했을 때 메시지를 출력하는 다양한 방법입니다. try-catch 문, 로거, 사용자 정의 예외 클래스를 활용하여 적절한 예외 메시지를 출력하고, 개발자 및 사용자가 원활하게 예외를 이해할 수 있도록 하는 것이 중요합니다.

관련 레퍼런스: