Erro com um simples Integer.parseInt

4 respostas
F

Olá pessoal, acredito que com a experiencia de vcs consigam encontrar esse erro bobo que eu não consigo achar.

Parte do codigo q está dando erro

if(cmd != null || !cmd.equalsIgnoreCase("principal")){
			
			titulo.setNome(request.getParameter("nome"));			
			
			String tipo = request.getParameter("tipo");	
			titulo.setTipo(Integer.parseInt(tipo));
			
			String isbn = request.getParameter("isbn");
			if(isbn == null)
				isbn="1";			
				titulo.setIsbn(isbn);
				
			titulo.setIsbn(request.getParameter("isbn"));
			titulo.setGenero(request.getParameter("genero")); 			
		}

trecho da classe que contem os getters and setters

public int getTipo() {
			return tipo;
		}

		public void setTipo(int tipo) {
			this.tipo = tipo;
		}

Erro que é apresentado quando chamo a pagina no browser

HTTP Status 500 - 

--------------------------------------------------------------------------------

type Exception report

message 

description The server encountered an internal error () that prevented it from fulfilling this request.

exception 

java.lang.NumberFormatException: null
	java.lang.Integer.parseInt(Integer.java:454)
	java.lang.Integer.parseInt(Integer.java:527)
	meupacote.web.LocadoraServlet.service(LocadoraServlet.java:37)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


note The full stack trace of the root cause is available in the Apache Tomcat/5.5.25 logs.

Acredito que o erro esteja na classe Integer, pois quando eu tiro essa linha ele funciona, MAS EU TENHO A NECESSIDADE DE UTILIZAR A CLASSE INTEGER.

Valeu pessoal do GUJ, aguardo um retorno.

4 Respostas

F

O parâmetro tipo da sua solicitação está vindo nulo.

Faça assim:

if (tipo != null) {
   titulo.setTipo(Integer.parseInt(tipo));
}

Ou alguma validação desse tipo.

Flw

E

Isso quer dizer que você passou o valor “null” para Integer.parseInt. Como isso não é um número, ele se “engasgou” e indicou um erro.

Por favor, cheque se o valor que você vai passar para Integer.parseInt é null ou vazio (ou seja, “”) antes de executar Integer.parseInt.

F

Valeu Foxlol, com essa condição funcionou perfeitamente, obrigado a todos pela rapidez e eficácia.

Abraço, pessoal

F

Foxlol:
O parâmetro tipo da sua solicitação está vindo nulo.

Faça assim:

if (tipo != null) {
   titulo.setTipo(Integer.parseInt(tipo));
}

Ou alguma validação desse tipo.

Flw

Resolvido

Criado 21 de dezembro de 2009
Ultima resposta 21 de dez. de 2009
Respostas 4
Participantes 3