The Artima Developer Community
Sponsored Link

Legacy Java Answers Forum
December 2001

Advertisement

Advertisement

This page contains an archived post to the Java Answers Forum made prior to February 25, 2002. If you wish to participate in discussions, please visit the new Artima Forums.

Message:

printStackTrace

Posted by lucho on December 03, 2001 at 5:48 AM

Hi!
I wanna catch an SQLException and print its stack trace in a JTextArea rather than the standart output. The method Throwable.getMessage() do not give enough details. I need a procedure like this:
private String getExceptionStack(Throwable t)
I try to redirect the stream using the method Throwable.printStackTrace(PrintStream stream)
Here is my method:

private String getExceptionStack(Throwable exc)
{
try
{
String result=null;
PipedInputStream pInput=new PipedInputStream();
PipedOutputStream pOutput=new PipedOutputStream(pInput);
PrintStream pw=new PrintStream(pOutput);

exc.printStackTrace(pw);

byte b[]=new byte[pInput.available()];
pInput.read(b,0,pInput.available());
result=new String(b);
return result;
}
catch (IOException e)
{
return "IOException occured while trying to extract stack!";
}
}

Sometimes it works but sometimes

exc.printStackTrace(pw);

blocks and won't return!!! And my thread is deadlocked :(

I wanna know why and I'm interested in another implementation of this problem.

Tx!



Replies:

Sponsored Links



Google
  Web Artima.com   
Copyright © 1996-2009 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use - Advertise with Us