package org.prevayler.demos.demo2.gui; import javax.swing.*; import java.awt.event.ActionEvent; abstract class RobustAction extends AbstractAction { RobustAction( String name){ super(name); } public void actionPerformed( ActionEvent e){ try { action(); } catch ( Exception exception) { display(exception); } } protected abstract void action() throws Exception ; static void display( Exception exception){ JOptionPane.showMessageDialog(null,exception.getMessage(),"Error",JOptionPane.ERROR_MESSAGE); } }