¿Por qué aplazarías el lanzamiento de la excepción?
Si sabe que el objeto no puede crear una instancia correcta con los parámetros dados, entonces definitivamente debería lanzar una excepción.
De lo contrario, alguien podría probar su objeto en busca de un valor nulo, lo que no será, y podría asumir que todo salió como se esperaba.
Se pueden hacer muchas cosas a su objeto sin tener que llamar a un método: se podría agregar a una lista, se podría comparar, se podría enviar como un parámetro, etc. etc. estas son cosas que no deberían haber ocurrido, considerando que no es un objeto válido.