FWIW, we can't dictate how people write their code. While I agree with @moodmosaic that constructors ought to have Guard Clauses in place, user code may not have that, and we need to take that into account.

If we can handle that scenario, we should; if not, we need to throw an exception with a meaningful error message.