fork download
  1. import java.util.*;
  2. import java.util.concurrent.Callable;
  3. import java.util.concurrent.FutureTask;
  4.  
  5. import java.lang.*;
  6. import java.io.*;
  7.  
  8. /* Name of the class has to be "Main" only if the class is public. */
  9. class Ideone
  10. {
  11. public static void main (String[] args) throws java.lang.Exception
  12. {
  13. FutureTask<String> task = new FutureTask(new SampleCallable());
  14. task.run();
  15. System.out.println("Task done: " + task.isDone());
  16. System.out.println(task.get());
  17. }
  18.  
  19. public static class SampleCallable implements Callable<String> {
  20. @Override public String call() {
  21. throw new RuntimeException("This is a failure!");
  22. }
  23. }
  24. }
Runtime error #stdin #stdout #stderr 0.1s 320320KB
stdin
Standard input is empty
stdout
Task done: true
stderr
Exception in thread "main" java.util.concurrent.ExecutionException: java.lang.RuntimeException: This is a failure!
	at java.util.concurrent.FutureTask.report(FutureTask.java:122)
	at java.util.concurrent.FutureTask.get(FutureTask.java:192)
	at Ideone.main(Main.java:16)
Caused by: java.lang.RuntimeException: This is a failure!
	at Ideone$SampleCallable.call(Main.java:21)
	at Ideone$SampleCallable.call(Main.java:19)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at Ideone.main(Main.java:14)