I think you should make the overwhelmingly likely case crash in a controlled way, but provide a way to handle it for people who truly want to keep going in such strange conditions.
In rust I would panic in now()
, but also provide a alternative call that returns a result named something like try_now()
, similar to Vec::with_capacity
and Vec::try_with_capacity
.
In languages that provide them, you could also throw a runtime exception that can be ignored and just bubbles up to main unless explicitly caught.
Better that the "not recognizing Palestine until the conflict is over" plan of Germany. I wonder if that creates perverse incentives for Israel.
Edit grammar