Interface ISafeRunnable

  • All Known Subinterfaces:
    ISafeRunnableWithResult<T>
    All Known Implementing Classes:
    SafeRunnable
    Functional Interface:
    This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

    @FunctionalInterface
    public interface ISafeRunnable
    Safe runnables represent blocks of code and associated exception handlers. They are typically used when a plug-in needs to call some untrusted code (e.g., code contributed by another plug-in via an extension).

    This interface can be used without OSGi running.

    Clients may implement this interface.

    See Also:
    SafeRunner.run(ISafeRunnable)
    • Method Detail

      • handleException

        default void handleException​(Throwable exception)
        Handles an exception thrown by this runnable's 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 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.

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