package abra;

/**
 * Abstract base class for ABRA threads.
 * 
 * @author Lisle E. Mose (lmose at unc dot edu)
 */
public abstract class AbraRunnable implements Runnable {

	private ThreadManager threadManager;
	
	public AbraRunnable(ThreadManager threadManager) {
		this.threadManager = threadManager;
	}
	
	@Override
	public void run() {
		try {
			go();
		} catch (Exception e) {
			e.printStackTrace();
			System.exit(-1);
		} finally {
			threadManager.removeThread(this);
		}
	}
	
	public abstract void go() throws Exception;
}

@@ -366,27 +366,27 @@
 ch (
-Exception e
+Throwable t
 ) %7B%0A%09%09%09
-e
+t
 .pri

Exit with error for larger range of error conditions in sub threads.