It is an exceptional situration sure. But IMHO exceptions in programmling languages should be used for errors that are rare and unlikely to recover from. Invalid inputs do not belong into this category. You can easy recover from invalid inputs with stopping your processing chain.