【发布时间】:2013-01-23 09:34:21
【问题描述】:
当我用 JDK 1.5 运行以下代码时,最后一行失败,但当我用 JDK 1.6 运行它时,它成功了。这是为什么呢?
代码:
Session session;
session = Session.getDefaultInstance(properties,
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});
// Create a default MimeMessage object.
MimeMessage message = new MimeMessage(session);
【问题讨论】:
-
以什么方式失败;什么是错误或异常加上相关的堆栈跟踪,还是根本无法编译?您是否对两个 JRE 使用相同的 mail.jar 和 activation.jar 库?
-
我实际上是在我的主机提供程序上运行它并使用 ajax 调用 servlet,所以我得到的唯一反馈是 ajax 请求上的错误 200。但我缩小了实际失败的代码行。
-
那么你能在构造函数调用周围放置一个try/catch,然后输出
Exception的堆栈跟踪吗? -
我确实这样做了,但它不会抓住。我把这个:catch (Exception ex) { json.put("title", "Failed!"); json.put("消息", "程序失败!"); out.print(json); }
-
可能是
Error;尝试捕获Throwable,而不是Exception,然后调用ex.printStackTrace();和out.print(ex.getMessage());。
标签: java jakarta-mail jdk1.6 jdk1.5