Callable.call() forces us to catch Exception.
Basically we have to "Drop to frame" (eclipse) to see the exception happening in the exact place, but sometimes the preconditions are already gone (some field values were already set preventing proper debugging, making it a boring task).
My first thought was use Runnable, but run() wont return a value, mostly when I want to optionally run on the same thread or on a new thread dynamically.
So, My "great idea" was to create a "NewCallable" but its call() would NOT throw exception, so debug would stop where it actually happens...
The point is, will other functionalities in java like FutureTask (I havent tried it yet tho), and may be some other, that depend on Callable or Runnable, later on, make my work more difficult by not using Callable?
May be should I extend Runnable instead, but the return value?
Or could I suppress Callable.call() and use another method, but that still could break other java functionalities.
What would be the best option to let us debug easily in the exact point things happen during a call()?