Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Thread.setDefaultUncaughtExceptionHandler(new MyExceptionHandler());
- Exception occurred during event dispatching:
- java.lang.RuntimeException: Critical error!
- at com.acme.MyClass.myMethod(MyClass.java:46)
- at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
- at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:641)
- at java.awt.EventQueue.access$000(EventQueue.java:84)
- at java.awt.EventQueue$1.run(EventQueue.java:602)
- at java.awt.EventQueue$1.run(EventQueue.java:600)
- at java.security.AccessController.doPrivileged(Native Method)
- at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
- at java.awt.EventQueue.dispatchEvent(EventQueue.java:611)
- at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
- at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
- at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:178)
- at java.awt.Dialog$1.run(Dialog.java:1046)
- at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
- at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:641)
- at java.awt.EventQueue.access$000(EventQueue.java:84)
- at java.awt.EventQueue$1.run(EventQueue.java:602)
- at java.awt.EventQueue$1.run(EventQueue.java:600)
- at java.security.AccessController.doPrivileged(Native Method)
- at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
- at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
- at java.awt.EventQueue$2.run(EventQueue.java:616)
- at java.awt.EventQueue$2.run(EventQueue.java:614)
- at java.security.AccessController.doPrivileged(Native Method)
- at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
- at java.awt.EventQueue.dispatchEvent(EventQueue.java:613)
- at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
- at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
- at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
- at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
- at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
- at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
- import java.lang.Thread.UncaughtExceptionHandler;
- import org.apache.log4j.Logger;
- /**
- * @see java.awt.EventDispatchThread.processException
- * @see java.lang.Thread.dispatchUncaughtException
- * @see java.lang.ThreadGroup.uncaughtException
- * @author Mykhaylo Adamovych
- */
- public class DefaultUncaughtExceptionHandler implements UncaughtExceptionHandler {
- public static final String SP_SUN_AWT_EXCEPTION_HANDLER = "sun.awt.exception.handler";
- static {
- if (Thread.getDefaultUncaughtExceptionHandler() == null)
- Thread.setDefaultUncaughtExceptionHandler(new DefaultUncaughtExceptionHandler());
- if (System.getProperty(SP_SUN_AWT_EXCEPTION_HANDLER) == null)
- System.setProperty(SP_SUN_AWT_EXCEPTION_HANDLER, DefaultUncaughtExceptionHandler.class.getName());
- }
- public static void initialize() {
- // load class and perform initialization
- }
- public void handle(Throwable e) {
- uncaughtException(Thread.currentThread(), e);
- }
- @Override
- public void uncaughtException(Thread t, Throwable e) {
- if (!(e instanceof ThreadDeath))
- Logger.getLogger(e.getStackTrace()[0].getClassName()).error("Exception in thread "" + t.getName() + """, e);
- }
- }
Add Comment
Please, Sign In to add comment