package org.eclipse.core.runtime; | |
/* | |
* (c) Copyright IBM Corp. 2000, 2001. | |
* All Rights Reserved. | |
*/ | |
/** | |
* 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). | |
* <p> | |
* Clients may implement this interface. | |
* </p> | |
* | |
* @see Platform#run | |
*/ | |
public interface ISafeRunnable { | |
/** | |
* Handles an exception thrown by this runnable's <code>run</code> | |
* method. The processing done here should be specific to the | |
* particular usecase for this runnable. Generalized exception | |
* processing (e.g., logging in the platform's log) is done by the | |
* Platform's run mechanism. | |
* | |
* @param exception an exception which occurred during processing | |
* the body of this runnable (i.e., in <code>run()</code>) | |
* @see Platform#run | |
*/ | |
public void handleException(Throwable exception); | |
/** | |
* Runs this runnable. Any exceptions thrown from this method will | |
* be passed to this runnable's <code>handleException</code> | |
* method. | |
* | |
* @exception Exception if a problem occurred while running this method. | |
* The exception will be processed by <code>handleException</code> | |
* @see Platform#run | |
*/ | |
public void run() throws Exception; | |
} |