public final class VerboseRunnable extends Object implements Runnable
Runnable, that logs all uncaught runtime exceptions.
You can use it with scheduled executor, for example:
Executors.newScheduledThreadPool(2).scheduleAtFixedRate( new VerboseRunnable(runnable, true), 1L, 1L, TimeUnit.SECONDS );
Now, every runtime exception that is not caught inside your
Runnable will be reported to log (using Logger).
Two-arguments constructor can be used when you need to instruct the class
about what to do with the exception: either swallow it or escalate.
Sometimes it's very important to swallow exceptions. Otherwise an entire
thread may get stuck (like in the example above).
This class is thread-safe.
VerboseThreads| Constructor and Description |
|---|
VerboseRunnable(Callable<?> callable)
Default constructor, doesn't swallow exceptions.
|
VerboseRunnable(Callable<?> callable,
boolean swallow)
Default constructor, doesn't swallow exceptions.
|
VerboseRunnable(Callable<?> callable,
boolean swallow,
boolean vrbs)
Default constructor.
|
VerboseRunnable(Runnable runnable)
Default constructor, doesn't swallow exceptions.
|
VerboseRunnable(Runnable runnable,
boolean swallow)
Default constructor, with configurable behavior for exceptions.
|
VerboseRunnable(Runnable runnable,
boolean swallow,
boolean vrbs)
Default constructor, with fully configurable behavior.
|
public VerboseRunnable(Runnable runnable)
runnable - Runnable to wrappublic VerboseRunnable(Callable<?> callable)
callable - Callable to wrappublic VerboseRunnable(Callable<?> callable, boolean swallow)
public VerboseRunnable(Callable<?> callable, boolean swallow, boolean vrbs)
callable - Callable to wrapswallow - Shall we swallow exceptions
(TRUE) or re-throw
(FALSE)? Exception swallowing means that run()
will never throw any exceptions (in any case all exceptions are logged
using Logger.vrbs - Shall we report the entire
stacktrace of the exception
(TRUE) or just its message in one line (FALSE)public VerboseRunnable(Runnable runnable, boolean swallow)
public VerboseRunnable(Runnable runnable, boolean swallow, boolean vrbs)
runnable - Runnable to wrapswallow - Shall we swallow exceptions
(TRUE) or re-throw
(FALSE)? Exception swallowing means that run()
will never throw any exceptions (in any case all exceptions are logged
using Logger.vrbs - Shall we report the entire
stacktrace of the exception
(TRUE) or just its message in one line (FALSE)Copyright © 2012–2019 jcabi.com. All rights reserved.