Exception

2 respostas
andrewcorreia
Oi bom dia , estou tentando tratar o seguinte erro , eu quando vou enviar um email , ele nao pode vir em branco ou em ou null, eu preciso tratar isso pra poder salvar o erro no bd ,
try{
                        Email.enviar(emailConfig);
                       
                    } catch (Exception ex) {
               Logger.getLogger(EnvioMassaServlet.class.getName()).log(Level.SEVERE, null, ex);
                    System.out.println("entrou");
            }

Quando eu boto assim ele nao entra no catch mas tbm nao aparece nenhum erro , e quando eu tento colocar outra como a do EmailException algo assim , ele da um erro
com uma mensagem assim : is never thrown in body of correspoding try statement

Alguem pode me dar um help por favor
abraços a todos

org.apache.commons.mail.EmailException: Illegal address
        at org.apache.commons.mail.Email.createInternetAddress(Email.java:541)
        at org.apache.commons.mail.Email.addTo(Email.java:653)
        at org.apache.commons.mail.Email.addTo(Email.java:636)
        at org.apache.commons.mail.Email.addTo(Email.java:618)
        at br.com.stockinfo.util.Email.enviar(Email.java:36)
        at br.com.stockinfo.emailMarketing.servlet.EnvioMassaServlet.processRequest(EnvioMassaServlet.java:99)
        at br.com.stockinfo.emailMarketing.servlet.EnvioMassaServlet.doPost(EnvioMassaServlet.java:129)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:619)
Caused by: javax.mail.internet.AddressException: Illegal address in string ``''
        at javax.mail.internet.InternetAddress.<init>(InternetAddress.java:108)
        at org.apache.commons.mail.Email.createInternetAddress(Email.java:514)
        ... 20 more
org.apache.commons.mail.EmailException: Illegal address
        at org.apache.commons.mail.Email.createInternetAddress(Email.java:541)
        at org.apache.commons.mail.Email.addTo(Email.java:653)
        at org.apache.commons.mail.Email.addTo(Email.java:636)
        at org.apache.commons.mail.Email.addTo(Email.java:618)
        at br.com.stockinfo.util.Email.enviar(Email.java:36)
        at br.com.stockinfo.emailMarketing.servlet.EnvioMassaServlet.processRequest(EnvioMassaServlet.java:99)
        at br.com.stockinfo.emailMarketing.servlet.EnvioMassaServlet.doPost(EnvioMassaServlet.java:129)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:619)
Caused by: javax.mail.internet.AddressException: Illegal address in string ``''
        at javax.mail.internet.InternetAddress.<init>(InternetAddress.java:108)
        at org.apache.commons.mail.Email.createInternetAddress(Email.java:514)
        ... 20 more

2 Respostas

C

Provavelmente você deve estar tratando as exceptions no metodo enviar da sua classe Email.
Se quiser tratar no metodo postado, adicione suas exceções no metodo enviar da classe Email. “public void enviar(Object emailConfig) thrown EmailException {

Att. Cleison R. Lima

Poneis123

Exatamente, a exceção está sendo lançada no seu método enviar().

para tratar ai onde vc está (código postado) vc precisa fazer o que o cleisonrlima falou: adicionar no final do método enviar um throws EmailException.. ou então, esse seu método enviar retorna alguma coisa? por exemplo se ele retornar um boolean informando true caso foi enviado corretamente, vc pode adicionar o seguinte trecho:

boolean enviou = false;
enviou = Email.enviar(emailConfig);

if(!enviou){
  throw new EmailException("E-mail não foi enviado, pelo motivo xyz");
}
Criado 17 de dezembro de 2009
Ultima resposta 17 de dez. de 2009
Respostas 2
Participantes 3