본문 바로가기
Programming/Java

[Java] e.printStackTrace() String으로 변환하기(printStactTrace to String)

by 배고프당 2019. 4. 5.
728x90

자바스크립트에서 ajax 통신을 하다가 에러가 났을 때나 특정 상황에서 서버에 있는 exception을 바로 받아서 처리하고 싶은 경우가 있었는데 String 으로 변환하는 방법입니다.

 

자바단에서 그냥 함수 하나 만들어서 호출해서 쓰면 됩니다.

package local_test; 
import java.io.PrintWriter;
import java.io.StringWriter;

public class Test {     
	public static void main(String[] args) {
		String errorMsg = null;                 
		try{           
			//에러 발생            
			int test = Integer.parseInt("toString"); 
		}catch(Exception e){            
			//String으로 받음            
			errorMsg = exceptionToString(e);  
		}        
		System.out.println(errorMsg);    
	}         

	public static String exceptionToString(Exception e) {    
		StringWriter error = new StringWriter();        
		e.printStackTrace(new PrintWriter(error));   
		return error.toString();            
	}
}

 

>>결과 화면

java.lang.NumberFormatException: For input string: "toString"    
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)    
at java.lang.Integer.parseInt(Integer.java:492)    
at java.lang.Integer.parseInt(Integer.java:527)    
at local_test.Test.main(Test.java:15)

 

728x90

댓글