This discussion is archived
11 Replies Latest reply: Jun 5, 2008 11:11 AM by 807591 RSS

How can I put all output error message into a String Variable ??

807591 Newbie
Currently Being Moderated
Dear Sir:

I have following code, When I run it and I press overflow radio button, It outputs following message:
Caught RuntimeException: java.lang.NullPointerException
     at ExceptionHandling.ExceptTest.actionPerformed(
     at javax.swing.AbstractButton.fireActionPerformed(
     at javax.swing.AbstractButton$Handler.actionPerformed(
     at javax.swing.DefaultButtonModel.fireActionPerformed(
     at javax.swing.JToggleButton$ToggleButtonModel.setPressed(
     at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(
     at java.awt.Component.processMouseEvent(
     at javax.swing.JComponent.processMouseEvent(
     at java.awt.Component.processEvent(
     at java.awt.Container.processEvent(
     at java.awt.Component.dispatchEventImpl(
     at java.awt.Container.dispatchEventImpl(
     at java.awt.Component.dispatchEvent(
     at java.awt.LightweightDispatcher.retargetMouseEvent(
     at java.awt.LightweightDispatcher.processMouseEvent(
     at java.awt.LightweightDispatcher.dispatchEvent(
     at java.awt.Container.dispatchEventImpl(
     at java.awt.Window.dispatchEventImpl(
     at java.awt.Component.dispatchEvent(
     at java.awt.EventQueue.dispatchEvent(
     at java.awt.EventDispatchThread.pumpOneEventForFilters( RuntimeException: java.lang.NullPointerException

     at java.awt.EventDispatchThread.pumpEventsForFilter(
     at java.awt.EventDispatchThread.pumpEventsForHierarchy(
     at java.awt.EventDispatchThread.pumpEvents(
     at java.awt.EventDispatchThread.pumpEvents(
I hope to catch all these error message into a String Variable such as StrErrorMsg, then I can use System.out.println(StrErrorMsg) to print it out or store somewhere, not only display at runtime,

How can I do this??
Thanks a lot,
See code below.

import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.ButtonGroup;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JRadioButton;

public class ExceptTest extends JFrame implements ActionListener {
    private double[] a;
  private JRadioButton divideByZeroButton;

  private JRadioButton badCastButton;

  private JRadioButton arrayBoundsButton;

  private JRadioButton nullPointerButton;

  private JRadioButton negSqrtButton;

  private JRadioButton overflowButton;

  private JRadioButton noSuchFileButton;

  private JRadioButton throwUnknownButton;

  public ExceptTest() {
    JPanel p = new JPanel();
    ButtonGroup g = new ButtonGroup();
    p.setLayout(new GridLayout(8, 1));
    divideByZeroButton = addRadioButton("Divide by zero", g, p);
    badCastButton = addRadioButton("Bad cast", g, p);
    arrayBoundsButton = addRadioButton("Array bounds", g, p);
    nullPointerButton = addRadioButton("Null pointer", g, p);
    negSqrtButton = addRadioButton("sqrt(-1)", g, p);
    overflowButton = addRadioButton("Overflow", g, p);
    noSuchFileButton = addRadioButton("No such file", g, p);
    throwUnknownButton = addRadioButton("Throw unknown", g, p);

  private JRadioButton addRadioButton(String s, ButtonGroup g, JPanel p) {
    JRadioButton button = new JRadioButton(s, false);
    return button;

  public void actionPerformed(ActionEvent evt) {
    try {
      Object source = evt.getSource();
      if (source == divideByZeroButton) {
        a[1] = a[1] / a[1] - a[1];
      } else if (source == badCastButton) {
        Frame f = (Frame) evt.getSource();
      } else if (source == arrayBoundsButton) {
        a[1] = a[10];
      } else if (source == nullPointerButton) {
        Frame f = null;
        f.setSize(200, 200);
      } else if (source == negSqrtButton) {
        a[1] = Math.sqrt(-1);
      } else if (source == overflowButton) {
        a[1] = 1000 * 1000 * 1000 * 1000;
        int n = (int) a[1];
      } else if (source == noSuchFileButton) {
        FileInputStream is = new FileInputStream("Java Source and Support");
      } else if (source == throwUnknownButton) {
        throw new UnknownError();
    } catch (RuntimeException e) {
      System.out.println("Caught RuntimeException: " + e);
      System.out.println("Caught RuntimeException: " + e);
    } catch (Exception e) {
      System.out.println("Caught Exception: " + e);

  public static void main(String[] args) {
    JFrame frame = new ExceptTest();
    frame.setSize(150, 200);
    frame.addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent e) {