[꼼꼼한 개발자] 꼼코더
[JAVA] - 스택 트레이스(Stack Trace)란? 간단하고 쉽게 이해하기 본문
반응형
🤷🏻 스택 트레이스(Stack Trace)란?
- 프로그램의 실행 과정에서 호출된 메서드들의 순서와 위치 정보를 나타내는 것.
스택 트레이스는 일반적으로 예외가 발생했을 때
예외가 발생한 지점부터 호출 스택의 상위 메서드들까지의 정보를 담고 있다.
👍🏻 장점
- 스택 트레이스는 예외가 발생한 원인을 추적하고 디버깅하는 데 매우 유용하다.
예외가 발생한 위치와 호출된 메소드들의 순서를 통해 프로그램의 실행 흐름을 파악할 수 있고
이를 통해 문제의 원인을 분석하고 해결할 수 있다.
✌🏻 사용방법 (2가지)
- try-catch 구문 사용함
- 스택 트레이스는 보통 예외 객체의 printStackTrace() 메서드를 호출하여 출력할 수 있다.
- ex) e.printStackTrace();
- try-catch 구문 사용안함
- 예외가 발생하면 자바는 예외를 기본적으로 처리하지 않고 프로그램 실행을 중단, 그 과정에서 예외의 스택 트레이스 정보가 출력
- 하지만 오류 발생 지점과 호출 경로를 파악하기 어려워 디버깅과 오류 분석에 제한이 생기게 된다.
출력된 스택 트레이스는 예외가 발생한 지점부터 호출 스택의 상위 메서드들까지의 정보를 담고 있으며,
메서드의 이름, 클래스명, 파일명, 라인 번호 등의 정보를 포함한다.
🧑🏻💻 사용 예제와 결과(try-catch 구문 사용)
try-catch 구문 사용하여 코드를 작성하고 스택 트레이스를 확인해 보자.
public class Example {
public static void main(String[] args) {
try {
int result = divide(10, 0); // 0으로 나누는 작업을 시도
System.out.println("결과: " + result);
} catch (ArithmeticException e) {
System.out.println("0으로 나눌 수 없습니다.");
e.printStackTrace(); // 스택 트레이스 출력
}
}
public static int divide(int num1, int num2) {
return num1 / num2; // 0으로 나누기 예외 발생
}
}
💡 실행 결과
NullPointerException이 발생했습니다.
java.lang.NullPointerException
at com.example.Example.myMethod(Example.java:13)
at com.example.Example.main(Example.java:6)
'간단하고 쉽게 > JAVA' 카테고리의 다른 글
[JAVA] - ISP란?(Interface segregation principle, 인터페이스 분리 원칙이란?, 인터페이스 분리 예제) 간단하고 쉽게 이해하기 (0) | 2023.06.12 |
---|---|
[JAVA] - OCP란?(Open-Closed Principle, 계방 폐쇄 원칙이란?, 계방 폐쇄 원칙 예제) 간단하고 쉽게 이해하기 (0) | 2023.06.11 |
[JAVA] - int와 Integer 차이점 간단하고 쉽게 이해하기 (0) | 2023.05.09 |
[JAVA] - Optional 반환값 사용이유? 간단하고 쉽게 이해하기 (0) | 2023.04.19 |
[JAVA] - 동기와 비동기란?(동기와 비동기의 차이점) 간단하고 쉽게 이해하기 (0) | 2023.04.15 |
Comments