19. april 2006 - 09:48
Der er
10 kommentarer og 1 løsning
Udskriv exception til JTextArea
Hej Eksperter, Hvordan skriver man hele Exception stacktracet ud til f.eks et JTextArea?
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
19. april 2006 - 09:53
#1
jTextArea.setText(exeception.printStackTrace()) virker det ikke? du skal selvfølgelig ændre på navne osv... kan ikke huske om printstacktrace er void.. er den det virker det selvfølgelig ikke
19. april 2006 - 09:53
#2
printStackTrace er en void metode!
19. april 2006 - 09:55
#3
StackTraceElement[] elements = exception.getStackTrace(); for (StackTraceElement elem : elements) textArea.append (elem.toString() + "\n");
19. april 2006 - 09:55
#4
Eller måske bare: textArea.setText (exception.toString());
19. april 2006 - 09:56
#5
mikkelbm >> Det var også hvad jeg havde på fornemmelsen:)
19. april 2006 - 09:57
#6
19. april 2006 - 10:08
#7
Dette String detail =""; StackTraceElement[] elements = null; elements = throwable.getStackTrace(); for(int i = 0; i< elements.length;i++) { detail = detail + "\n" + elements[i].toString(); } System.out.println(detail); giver ikke det samme resultat som dette throwable.printStackTrace(); btw køre det på 1.4 ikke 1.5
20. april 2006 - 02:09
#8
package april; import java.io.*; public class StackTrace { public static void main(String[] args) { try { throw new Exception("Test1"); } catch (Exception e) { e.printStackTrace(); } try { throw new Exception("Test2"); } catch (Exception e) { System.err.println(e.getClass().getName() + ": " + e.getMessage()); StackTraceElement[] elm = e.getStackTrace(); for(int i = 0; i < elm.length; i++) { System.err.println(" at " + elm[i]); } } try { throw new Exception("Test3"); } catch (Exception e) { StringWriter sw = new StringWriter(); e.printStackTrace(new PrintWriter(sw)); System.err.println(sw.getBuffer().toString()); } } }
21. april 2006 - 09:32
#9
Dette virker: StringWriter sw = new StringWriter(); throwable.printStackTrace(new PrintWriter(sw)); detail = sw.getBuffer().toString(); Smid et svar Arne_v og tak
22. april 2006 - 05:33
#10
OK men som Test2 antyder bør man også med lidt arbejde kunne få få den rigtige test med .getStackTrace()
22. april 2006 - 10:51
#11
Ja det er da ikke for at snyde nogen men din løsning var den hurtigste at bruge.
Kurser inden for grundlæggende programmering