Il costruttore può certo lanciare FUORI una eccezione se c'è un parametro inappropriato/invalido. Ma è il chiamante (dove viene istanziato l'oggetto) che dovrebbe eventualmente gestire la eccezione (e se non direttamente il metodo chiamante, qualcuno di più alto livello ... insomma, dove hai nozione su COSA fare se è avvenuta quella eccezione).
Dire "catturare le eccezioni nel costruttore" non ha granché molto senso, perlomeno nel contesto di una validazione dei dati.