English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 프로그램에서는 Java에서 스택 트레이스를 문자열로 변환하는 방법을 배울 것입니다.
import java.io.PrintWriter; import java.io.StringWriter; public class PrintStackTrace { public static void main(String[] args) { try { int division = 0 / 0; } catch (ArithmeticException e) { StringWriter sw = new StringWriter(); e.printStackTrace(new PrintWriter(sw)); String exceptionAsString = sw.toString(); System.out.println(exceptionAsString); } } }
프로그램을 실행할 때, 아래와 같은 내용이 출력될 것입니다:
java.lang.ArithmeticException: / by zero at PrintStackTrace.main(PrintStackTrace.java:9)
위의 프로그램에서, 0으로 0을 나누어 프로그램이 ArithmeticException을 강제로 발생시킵니다
catch 블록에서, StringWriter와 PrintWriter를 사용하여 어떤 주어진 출력을 문자열로 출력합니다. 그런 다음 예외의 printStackTrace() 메서드를 사용하여 스택 트래킹을 출력하고, 작성자에 대한 출력에 기록합니다
그런 다음, toString() 메서드를 사용하여 문자열로 변환하면 됩니다.