Class SafeRunner


  • public final class SafeRunner
    extends java.lang.Object
    Runs the given ISafeRunnable in a protected mode: exceptions and certain errors thrown in the runnable are logged and passed to the runnable's exception handler. Such exceptions are not rethrown by this method.

    This class can be used without OSGi running.

    Since:
    org.eclipse.equinox.common 3.2
    • Constructor Summary

      Constructors 
      Constructor Description
      SafeRunner()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static void run​(ISafeRunnable code)
      Runs the given runnable in a protected mode.
      static <T> T run​(ISafeRunnableWithResult<T> code)
      Runs the given runnable in a protected mode and returns the result given by the runnable.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • SafeRunner

        public SafeRunner()
    • Method Detail

      • run

        public static void run​(ISafeRunnable code)
        Runs the given runnable in a protected mode. Exceptions thrown in the runnable are logged and passed to the runnable's exception handler. Such exceptions are not rethrown by this method.

        In addition to catching all Exception types, this method also catches certain Error types that typically result from programming errors in the code being executed. Severe errors that are not generally safe to catch are not caught by this method.

        Parameters:
        code - the runnable to run
      • run

        public static <T> T run​(ISafeRunnableWithResult<T> code)
        Runs the given runnable in a protected mode and returns the result given by the runnable. Exceptions thrown in the runnable are logged and passed to the runnable's exception handler. Such exceptions are not rethrown by this method, instead null is returned.

        In addition to catching all Exception types, this method also catches certain Error types that typically result from programming errors in the code being executed. Severe errors that are not generally safe to catch are not caught by this method.

        Type Parameters:
        T - the result type
        Parameters:
        code - the runnable to run
        Returns:
        the result
        Since:
        3.11