Package org.eclipse.jface.util

# Class SafeRunnable

java.lang.Object
org.eclipse.jface.util.SafeRunnable

All Implemented Interfaces:
  `ISafeRunnable`

public abstract class SafeRunnable extends Object implements ISafeRunnable
Implements a default implementation of ISafeRunnable. The default implementation of `handleException` opens a dialog to show any errors as they accumulate.

This may be executed on any thread.

## Constructor Summary

Constructors
Constructor
Description
`SafeRunnable()`
Creates a new instance of SafeRunnable with a default error message.
`SafeRunnable(String message)`
Creates a new instance of SafeRunnable with the given error message.

## Method Summary

Modifier and Type
Method
Description
`static boolean`
`getIgnoreErrors()`
Flag to avoid interactive error dialogs during automated testing.
`static boolean`
`getIgnoreErrors(boolean flag)`
Deprecated.
use getIgnoreErrors()
`static ISafeRunnableRunner`
`getRunner()`
Returns the safe runnable runner.
`void`
`handleException(Throwable e)`
Handles an exception thrown by this runnable's `ISafeRunnable.run()` method.
`static void`
`run(ISafeRunnable runnable)`
Runs the given safe runnable using the safe runnable runner.
`static void`
`setIgnoreErrors(boolean flag)`
Flag to avoid interactive error dialogs during automated testing.
`static void`
`setRunner(ISafeRunnableRunner runner)`
Sets the safe runnable runner.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.eclipse.core.runtime.ISafeRunnable

`run`

## Constructor Details

### SafeRunnable

public SafeRunnable()
Creates a new instance of SafeRunnable with a default error message.

### SafeRunnable

public SafeRunnable(String message)
Creates a new instance of SafeRunnable with the given error message.

Parameters:
  `message` - the error message to use

## Method Details

### handleException

public void handleException(Throwable e)
Description copied from interface: `ISafeRunnable`
Handles an exception thrown by this runnable's `ISafeRunnable.run()` method. The processing done here should be specific to the particular use case for this runnable. Generalized exception processing, including logging in the Platform's log, is done by the `SafeRunner`.

All exceptions from the `ISafeRunnable.run()` method are passed to this method, along with certain `Error` types that are typically caused by programming errors in the untrusted code being run.

Specified by:
  `handleException` in interface `ISafeRunnable`
Parameters:
  `e` - an exception which occurred during processing the body of this runnable (i.e., in `ISafeRunnable.run()`)
See Also:
  - `SafeRunner.run(ISafeRunnable)`

### getIgnoreErrors

@Deprecated public static boolean getIgnoreErrors(boolean flag)
Deprecated.
use getIgnoreErrors()
Flag to avoid interactive error dialogs during automated testing.

Parameters:
  `flag` - unused
Returns:
  true if errors should be ignored

### getIgnoreErrors

public static boolean getIgnoreErrors()
Flag to avoid interactive error dialogs during automated testing.

Returns:
  true if errors should be ignored
Since:
  3.0

### setIgnoreErrors

public static void setIgnoreErrors(boolean flag)
Flag to avoid interactive error dialogs during automated testing.

Parameters:
  `flag` - set to true if errors should be ignored

### getRunner

public static ISafeRunnableRunner getRunner()
Returns the safe runnable runner.

Returns:
  the safe runnable runner
Since:
  3.1

### setRunner

public static void setRunner(ISafeRunnableRunner runner)
Sets the safe runnable runner.

Parameters:
  `runner` - the runner to set, or `null` to reset to the default runner
Since:
  3.1

### run

public static void run(ISafeRunnable runnable)
Runs the given safe runnable using the safe runnable runner. This is a convenience method, equivalent to: `SafeRunnable.getRunner().run(runnable)`.

Parameters:
  `runnable` - the runnable to run
Since:
  3.1