Java tutorial
import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; public class MainClass extends JFrame { public static void main(String[] args) { new MainClass().setVisible(true); } public MainClass() { 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(); } }