NullPointerException

Estou com problemas neste trecho de código:

      String s[] = new String[3];

      s[0] = ""+funcionario.getSelectedIndex();
      s[1] = ""+filiais.getSelectedIndex();
      s[2] = ""+cliente.getSelectedIndex();
     [color="red"] infs.setDados(s, 5);[/color]


Na linha grifada o console aponta a excessão: NullPointerException
Por favor, alguém pode me ajudar!! :?: :?:

tipo, coloque o metodo setDados p/ podermos te ajudar melhor…

Norba,coloque o set dados,e vc tem certeza q esses itens passados ao arraydestrings estão sendo preenchidos/passados?

O infs está definido???

Infs é uma variável, que instancia a classe ProcessaInformações, que em meu projeto é responsável pelo controle de informações entre a GUI e o Servidor.
O array de Strings é para chegar a esta classe para lá receber o tratamento necessário.

ProcessaInformações:
.
.
.
setDados(String campos[], int entidade)
{
if(entidade==1)
DVenda(campos);
}
.
.
.

Os campos são passados como parâmetro para a classe DVenda, mas o erro não acontece nestas classes, acontece na classe em que os campos são passados para ProcessaInformações, que em meu projeto é chamada de CadastroVenda:

gravar()
{
String s[] = new String[3];

  s[0] = ""+funcionario.getSelectedIndex();
  s[1] = ""+filiais.getSelectedIndex();
  s[2] = ""+cliente.getSelectedIndex();
  infs.setDados(s, 5); << LINHA DA EXCEPTION

}

A classe compila e roda normalmente, somente quando clico em cadastrar, que esta exception acontece.

Repito a pergunta: você definiu o objeto infs???

ProcessaInformacoes infs = new ProcessaInformacoes();

Existem, em tese, 3 coisas que podem estar gerando a exceção:

  • o infs
  • o s
  • o 5

O 5 obviamente não é. O s está definido logo acima no seu código, então também não é. Sobrou o infs. Além do que, se o s estivesse nulo, quem daria erro seria o método setDados.

Uma outra possibilidade é o seu método setDados estar gerando a exceção. Mas isso só aconteceria se na sua definição tivesse um throws Exception.

Tem certeza? NullPointerException estende de RuntimeException, que é uma unchecked exception. Ou seja, não precisa ser nem capturada nem propagada.