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
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
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