[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
문, 로거, 사용자 정의 예외 클래스를 활용하여 적절한 예외 메시지를 출력하고, 개발자 및 사용자가 원활하게 예외를 이해할 수 있도록 하는 것이 중요합니다.
관련 레퍼런스:
- SLF4J: https://www.slf4j.org/
- Logback: https://logback.qos.ch/
- Log4j: https://logging.apache.org/log4j/2.x/