I want to redirect only stacktrace of uncaught exception from console to log file. The rest of the things should appear on console as usual.
views:
402answers:
2
+6
A:
Set a Thread.UncaughtExceptionHandler
that prints to the desired file. printStackTrace
is threadsafe, so several threads may share the same PrintStream
.
gustafc
2009-10-21 09:24:53
Gustafc, i never heard this thing, But yes it works like charm :)
Rakesh Juyal
2009-10-21 09:44:24
+2
A:
Created a sample program for this, Thanx to gustafc
public class UncaughtException {
public static void main(String[] args) {
Thread.setDefaultUncaughtExceptionHandler( new Thread.UncaughtExceptionHandler(){
public void uncaughtException(Thread t, Throwable e) {
System.out.println("*****Yeah, Caught the Exception*****");
e.printStackTrace(); // you can use e.printStackTrace ( printstream ps )
}
});
System.out.println( 2/0 ); // Throw the Exception
}
}
Output is
*Yeah, Caught the Exception***** java.lang.ArithmeticException: / by zero at thread.UncaughtException.main(UncaughtException.java:12)
Rakesh Juyal
2009-10-21 09:43:43