throwOnBlock property
Whether to throw an exception when blocked (if false, it will just block execution flow if possible, or warn).
Actually, for ensure, blocking usually means we return false or throw.
To purely "block app", we usually throw.
Implementation
final bool throwOnBlock;