diff --git a/src/share/vm/runtime/thread.cpp b/src/share/vm/runtime/thread.cpp index 93eb9df190f68ea3c7c1617da67aaad5be5a90c6..2d61c80e4934dca386c8d57684bcb4e66b91c7fc 100644 --- a/src/share/vm/runtime/thread.cpp +++ b/src/share/vm/runtime/thread.cpp @@ -1611,7 +1611,15 @@ void JavaThread::exit(bool destroy_vm, ExitType exit_type) { uncaught_exception, // Arg 2 THREAD); } - CLEAR_PENDING_EXCEPTION; + if (HAS_PENDING_EXCEPTION) { + ResourceMark rm(this); + jio_fprintf(defaultStream::error_stream(), + "\nException: %s thrown from the UncaughtExceptionHandler" + " in thread \"%s\"\n", + Klass::cast(pending_exception()->klass())->external_name(), + get_thread_name()); + CLEAR_PENDING_EXCEPTION; + } } }