2014-09-24 60 views
0

我正在開發使用較舊的Java版本,它沒有getStackTrace()方法。有一個printStackTrace方法,但它不打印我想要的地方。如何在舊版本的Java 1.3.1(MXExeption)中使用getStackTrace()

有沒有辦法提取Exception ex(在這種情況下,和一個MXExeption)的全部內容?

強制轉換爲字符串數組或其他東西?

+0

哪個版本是什麼呢? – 2014-09-24 11:03:06

+1

根據Javadocs,'getStackTrace()'是在Java 1.4中引入的。那在2002年出來了。爲什麼你仍然在使用12年前被取代的Java平臺? – 2014-09-24 11:24:57

+0

等待,讓我檢查確切的版本 – 2014-09-24 11:41:42

回答

2

也許可以幫助:

StringWriter sw = new StringWriter(); 
PrintWriter pw = new PrintWriter(sw); 
ex.printStackTrace(pw); 
String stacktrace = sw.getBuffer().toString(); 
+0

而對於Thread.getStackTrace'try {throw new E(); } catch(E e)' – 2014-09-24 11:07:49

+0

Exception.getStackTrace()自1.4以來就存在,所以我猜他使用1.4之前的java版本。 Thread.getStackTrace()自1.5起存在(稱爲javadoc)。 – DirkNM 2014-09-24 11:14:22

+0

將嘗試這個並讓你知道它是如何工作的(使用Java 1.3.1) – 2014-09-24 11:42:44

相關問題