如何从 Playframework 的 MailerClient 中获取抛出的异常

How to get a thrown exception from MailerClient of Playframework

我正在 Play 应用程序中使用 Play-Mailer。我能够将电子邮件发送到正确的电子邮件地址。到目前为止,一切都很好。 - 但是对于 none 现有的电子邮件地址,org.apache.commons.mailer 会抛出异常,但方法 mailerClient.send(email) 本身不会抛出任何异常。 - 有没有办法捕捉任何异常形式 Play-Mailer?

编辑:

我查看了 Play-Mailer 插件,发现它是用 Scala 编写的。 Scala 没有检查异常的概念。 Scala 直接编译为 JVM 字节码,这就是 "trick" 如何在 Scala 中调用 Java 代码,它会抛出已检查的异常,但您不必重新抛出它们(已检查异常的规则在JVM 字节码级别)。

您可以在 Java 代码中自由使用标准 try-catch 块来处理异常。


commons 邮件程序抛出什么样的异常?您指的是:https://commons.apache.org/proper/commons-email/javadocs/api-release/org/apache/commons/mail/Email.html#send--

send() 方法抛出一个 EmailException,它 不是 RuntimeException,因此会传播异常。如果 Play-Mailer 插件没有捕捉到它,您必须在您的代码中执行此操作:

try {
    // try to send the mail
    mailer.send(email);
} catch (EmailException e) {
    // do something with the exception
}