我创建了简单的MailService来通过电子邮件发送内容。它工作但我不知道如何处理异常(我的想法是在HTML视图中打印一些信息或在404页重定向)
邮件服务:
public class MailService { public final JavaMailSender emailSender; public void sendMail(String content, String to, Boolean isHtml, String subject, String path) { log.debug("Send e-mail[multipart '{}' and html '{}'] to '{}' with subject '{}' and content={}", true, isHtml, to, subject, content); MimeMessage mimeMessage = emailSender.createMimeMessage(); try { MimeMessageHelper message = new MimeMessageHelper(mimeMessage, true, CharEncoding.UTF_8); message.setTo(to); message.setFrom("applica@applica.ai"); message.setSubject(subject); message.setText(content, isHtml); FileSystemResource file = new FileSystemResource(path); message.addAttachment(file.getFilename(), file); emailSender.send(mimeMessage); log.debug("Sent e-mail to User '{}'", to); } catch (Exception e) { log.warn("E-mail could not be sent to user '{}'", to, e); } } }
在控制器中的用法:
try { mailService.sendMail(templateEngine.process("summary/mailTemplate", ctx), userInfo.getEmail(), true, "Mail title", "attachment title); } catch (IOException e) { e.printStackTrace(); return "redirect:/404"; }
我创建了一个服务来处理邮件异常的逻辑
public class MailSendingException extends Exception { public MailSendingException() { } public MailSendingException(String s) { super(s); } }
和控制器
@Controller public class errorMailController { @GetMapping("/errorMail") public String errorMail() { return "errorMail"; } }
然后我把它用在发邮件的地方
try { mailService.sendMail(templateEngine.process("summary/mailTemplate", ctx), userInfo.getEmail(), true, "Mail title", "attachment title); } catch (IOException e) { e.printStackTrace(); return "redirect:/404"; } catch (MailSendingException mse) { return "redirect:/errorMail"; }
我主要是为技术精明的人编写一个小工具,例如程序员、工程师等,因为这些工具通常是快速的,随着时间的推移,我知道会有未处理的异常,用户不会介意。我希望用户能够向我发送回溯,这样我就可以检查发生了什么,并可能改进应用程序。 我通常做wxPython编程,但我最近做了一些Java。我已经将
问题内容: 我有一个ScheduledThreadPoolExecutor,似乎正在吃异常。如果提交的Runnable引发异常,我希望我的执行者服务通知我。 例如,我希望下面的代码至少输出IndexArrayOutOfBoundsException的stackTrace 作为附带问题。有没有办法为ScheduledThreadPoolExecutor编写常规try catch块? ////////
本文向大家介绍Java 中的异常处理?相关面试题,主要包含被问及Java 中的异常处理?时的应答技巧和注意事项,需要的朋友参考一下 Java异常类层次结构图 在 Java 中,所有的异常都有一个共同的祖先java.lang包中的 Throwable类。Throwable: 有两个重要的子类:Exception(异常) 和 Error(错误) ,二者都是 Java 异常处理的重要子类,各自都包含大
我需要在我的应用程序中将异常显示为toast消息,但以下代码不起作用,我如何修改它? 10-14 23:41:21.637 14498-14498/com.example.username.weddingplanningE/SQLiteDatabase︰错误插入name=dandroid.database.sqlite.SQLiteConstraintExc0019:列名称不是唯一的(代码19)在
当我使用JavaMailSender发送带有附件的电子邮件时,它总是失败,并引发以下异常: 这是我的密码
web.xml 应用程序-servlet.xml context.xml(在tomcat conf文件夹中) 谢谢你的建议和帮助。