Interromper um Construtor?

Posso validar dados no Construtor de uma classe qualquer ou utilizar de métodos para isso, correto? Mas e se os dados não forem válidos, consigo interromper o construtor ou um novo Objeto será instanciado?

Vc pode lançar uma exception, assim o objeto não sera criado.

Veja se as regras de validação e/ou criação não são muito complexas a ponto de ser melhor vc utilizar um pattern como o Factory (uma fabrica de objetos).

Ok, vou pesquisar!

Obrigado!

Dá pra usar return também. Só que aí a referência não fica nula e você ainda pode chamar métodos daquele objeto.
Mas segue a dica do pacman… É muito mais elegante.

Algo como:

public class Classe { public Classe() { return; } }

pode ser algo como:


public class MyClass {

   public MyClass(String arg) {
         if (arg == null) {
              throw new IllegalArgumentException();
         }
   }

}

[]'s

O seu design é falho. Mesmo que vc dê um return ou lance uma exeção antes dos construtor terminar, o objeto já foi criado.

O que vc deve fazer é um método estático que recebe os parametros e faz as validações e só cria o objeto se tudo estiver ok.

Agradeço a todas as respostas, valeu pessoal!!