Erro ao Converter String para Calendar

Eaw Pessoal!

Estou aprendendo a programar e travei num probleminha.

Tento converter uma String com uma data para o formato Calendar no seguinte cógigo:

[code]String dataTexto = request.getParameter(“data”);
Calendar dataDefesa = null;

	//Convertendo a Data
	try {
		Date date = new SimpleDateFormat("dd/MM/yyyy").parse(dataTexto);
		dataDefesa = Calendar.getInstance();
		dataDefesa.setTime(date);

		
		
	} catch (ParseException e) {
		out.println("Erro na conversão da Data!");
		return; // Para a execução do Metodo
	}[/code]

No entanto me deparo com o seguinte erro:

SEVERE: Servlet.service() for servlet [servletAdicionaTcc] in context with path [/biblioteca] threw exception [Servlet execution threw an exception] with root cause
java.lang.Error: Unresolved compilation problem:
Unhandled exception type ParseException

at biblioteca.servlet.AdicionaTccServlet.service(AdicionaTccServlet.java:37)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:279)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:300)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:636)

Se puderem me ajudar, agradeço!!

cara, acho q o erro nao eh de conversao. tem outra coisa q esta gerando o erro.

Estou aprendendo a programar para web.
O Eclipse aponta um erro nesta linha:

Date date = new SimpleDateFormat("dd/MM/yyyy").parse(dataTexto);  

Acho que tem alguma relação com o que está vindo em “dataTexto”, mas sendo ele uma string
e como o erro acontece durante a compilação, antes de executar, não sei porque dá o erro…

[quote=AlanHoinacki]Estou aprendendo a programar para web.
O Eclipse aponta um erro nesta linha:

Date date = new SimpleDateFormat("dd/MM/yyyy").parse(dataTexto);  

Acho que tem alguma relação com o que está vindo em “dataTexto”, mas sendo ele uma string
e como o erro acontece durante a compilação, antes de executar, não sei porque dá o erro…[/quote]

Oi!

Qual o contéudo da variavél dataTexto. Pode estar ligada ao respectivo conteúdo.
Se a data não estiver exatamente no formato “dd/MM/yyyy” vai ocorrer a respectiva exceção.

Abraços.

A data é capturada por um input normal em html:

Data da Defesa: <input type="text" name="data"/><br/> 

E buscada por uma request e armazenado em uma string:

ServletRequest request

String dataTexto = request.getParameter("data");

Sim, isso ficou bem claro.
Me refiro a imprimir o contéudo da variavél dataTexto afim de se obter o conteúdo da String.

System.out.println("Data: " + dataTexto);

Sem sabermos o conteúdo dessa String, é dificíl prever o que está ocorrendo, entende? :smiley:

Entendo o que você quer dizer. O valor dela nesse ponto ainda é null, porque ele ainda não foi executado e nada foi inserido via html.

Ai é obvio que vai gerar exceção.
Deves tratar a String antes de usa-la. Verificar se não é nula ou vazia e depois tentar a conversão.

Abraços.