Mega Code Archive

 
Categories / Java / Language Basics
 

ThreadBasedCatcher - Demonstrate catching uncaught exceptions

import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; /**  * ThreadBasedCatcher - Demonstrate catching uncaught exceptions   * thrown in an unrelated Thread.  * @author ian  * @verion $Id: ThreadBasedCatcher.java,v 1.2 2004/03/20 20:43:27 ian Exp $  */ public class ThreadBasedCatcher extends JFrame{   public static void main(String[] args) {     new ThreadBasedCatcher().setVisible(true);   }   public ThreadBasedCatcher(){     Container cp = getContentPane();     JButton crasher = new JButton("Crash");     cp.add(crasher);     crasher.addActionListener(new ActionListener(){       public void actionPerformed(ActionEvent e){         throw new RuntimeException("You asked for it");       }     });     Thread.setDefaultUncaughtExceptionHandler(         new Thread.UncaughtExceptionHandler(){           public void uncaughtException(Thread t, Throwable ex){             System.out.println(               "You crashed thread " + t.getName());             System.out.println(               "Exception was: " + ex.toString());           }         });     pack();   } }