2012-08-07 154 views
0

我打算使用javamail以循环类型的方式发送自动电子邮件。例如,我可能会收到300封电子邮件,我需要依次使用javamail构建和发送。我在java中使用定时器来在每天的特定时间自动执行该过程。捕捉Javamail异常

我应该尝试捕获哪些异常,以及如何在不中断循环的情况下捕获异常时处理错误?我应该期望遇到什么异常?无法连接到SMTP服务器?无效的邮件地址?等等?

+0

你怎么期待我们在不知道任何关于你的代码的情况下对此发表评论? – Sujay 2012-08-07 02:30:08

+1

你总是可以抓到'例外'......虽然这是不好的做法。使用Javamail会出现什么异常?请咨询他们的API来仔细检查,然后考虑使用适当的逻辑来处理这些情况。 – Makoto 2012-08-07 02:31:11

+0

它不是一个真正的代码类型的问题。我会更新这个问题,以便更清楚一点。 – ryandlf 2012-08-07 02:46:22

回答

2

您必须将try/catch放入循环中。如果你想循环继续,你应该只记录异常并处理下一次尝试。

至于哪些例外,你会被迫抓住所有的检查。如果你不想要非检查异常来中断处理,你也必须去捕获这些异常。我不会去追赶Throwable

+0

我想我应该在问题上更清楚一点。我希望能够捕捉到什么类型的异常?无法连接到SMTP服务器?不合规电邮?等等? – ryandlf 2012-08-07 02:45:52

+0

javadocs将显示您需要捕获MessagingException。 MessagingException有许多子类; javadocs应该告诉你哪些方法可能会被抛出。如果你想尝试从异常中“恢复”,你需要处理许多子类。但是要回答你的问题,是的,许多事情都会出错,包括未能连接到你的服务器,无效的电子邮件地址等等。 – 2012-08-07 06:22:03