Estou precisando de uma ajuda referente a tratativa do erro de NullPoiterException, pois estou desenvolvendo um sistema utilizando WebService, sendo comunicação atravez de uma String contendo o XML.
O problema e que, existe diversas tags no XML de retorno, porem tem itens que nao sao obrigatorios, e automaticamente nao tera a tag, ou seja, se estou querendo pegar os dados de uma tag que nao existe vai acontecer o erro de NullPointerException…
Eu efetuei a tratativa do erro utilizando o bloco try e catch, porem acredito que esta nao é a melhor saida, pois o codigo fica poluido, sendo assim, alguem saberia informar como posso verificar se existe esta tag, evitando o erro NullPointerException sem utilizar o bloco try e catch ?
Por que é que você não checa se é null o resultado? Criar variáveis temporárias, e checar o retorno contra null, não machuca…
Na minha experiência, tratar “NullPointerException” é sinal de que você não está fazendo as coisas direito.
E
elton_csantana
obrigado pelo retorno thingol, o problema e que ja efetuei esse processo, segue abaixo o codigo para que possa entender melhor:
tipo tentei fazer o seguinte… porem acontece o Erro de NullPointerExcpetion…
esse e o metodo que preciso verificar realmente…
publicArrayList<PedidoConsultaLote>getRetornoConsultaLote(StringxmlResponse){ArrayList<PedidoConsultaLote>listaPedidoConsultaLote=newArrayList<PedidoConsultaLote>();try{DocumentBuilderFactorydocBuilderFactory=DocumentBuilderFactory.newInstance();DocumentBuilderdocBuilder=docBuilderFactory.newDocumentBuilder();ByteArrayInputStreamis=newByteArrayInputStream(xmlResponse.getBytes());Documentdoc=docBuilder.parse(is);// normalize text representationdoc.getDocumentElement().normalize();NodeListlistNfeTags=doc.getElementsByTagName("ChaveNFe");NodeListlistChaveRPSTags=doc.getElementsByTagName("ChaveRPS");NodeListlistCPFCNPJPrestadorTags=doc.getElementsByTagName("CPFCNPJPrestador");NodeListlistEnderecoPrestadorTags=doc.getElementsByTagName("EnderecoPrestador");NodeListlistCPFCNPJTomadorTags=doc.getElementsByTagName("CPFCNPJTomador");NodeListlistEnderecoTomadorTags=doc.getElementsByTagName("EnderecoTomador");