If the predicate evaluates to true, then throw the exception form the body. This should usually be called in a "catching" block.
If the predicate is null, then throw the exception form the body. This should usually be called in a "result" block.
Type safe way of throwing an exception.
Defines a block of code that is always called after result block has finished. The block is always executed even on failures caused by undefined Throwables or Exceptions.