import java.util.Date;
import java.util.Timer;
import com.gw.mail.MailTest;
public class test {
public void start(){
Date datetime = new Date();
Timer timer = null;
System.out.println(datetime);
timer.schedule(new MailTest(), datetime);
}
public static void main(String[] args) {
test t = new test();
t.start();
}
}
报出的异常为:
Mon Apr 04 11:59:43 CST 2011
Exception in thread "main" java.lang.NullPointerException
at test.start(test.java:12)
at test.main(test.java:18)
at test.start(test.java:12)这里指的是timer.schedule(new MailTest(), datetime);
MailTest类得代码为:
package com.gw.mail;
//这是执行任务的类,即每隔一段时间要做的事情在这里
import java.io.IOException;
import java.net.UnknownHostException;
import java.util.TimerTask;
public class MailTest extends TimerTask {
@Override
public void run() {
MailMessage message = new MailMessage();
message.setFrom("xXX_j@163.com"); // 发送者
message.setTo("xXX@qq.com"); // 收件者
String server = "smtp.163.com"; // 发件者邮箱服务器
message.setSubject("Java Mail Test"); // title
message.setContent("Hello, this is GWVM system send mail test"); // content
message.setDataFrom("xX"); // 收到的邮件中发件人显示
message.setDataTo("xX"); // 收到的邮件中收件人显示
message.setUser("XXX_j@163.com"); // 发件箱的用户名
message.setPassword("XXX"); // 发件箱的密码
SMTPClient smtp;
try {
smtp = new SMTPClient(server, 25);
boolean flag;
flag = smtp.sendMail(message, server);
if (flag) {
System.out.println("邮件发送成功!");
} else {
System.out.println("邮件发送失败!");
}
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
8 个解决方案
#1
求解,看了N久没发现有什么问题~
#2
timer timer = null,再调用的时候肯定是空指针了。
#3
Timer timer = null;
没有初始化
没有初始化
Timer timer = new Timer();
#4
Timer timer = null;为空
然后 timer.schedule(new MailTest(), datetime);
有没有初始化?
然后 timer.schedule(new MailTest(), datetime);
有没有初始化?
#5
初始化确实是一个很重要的环节,上次我也遇到了一个空指针异常的错误,弄了两个小时,才发现这个问题,太诡异了
#6
谢谢大家了,这个问题搞了N久,没想到是这个环节出了问题
#7
Timer timer = null;
Timer没有初始化啊,后面调用它就会报空指针错了...
#8
没有初始化,你使用它肯定会报NullPointerException,以后小心啊
#1
求解,看了N久没发现有什么问题~
#2
timer timer = null,再调用的时候肯定是空指针了。
#3
Timer timer = null;
没有初始化
没有初始化
Timer timer = new Timer();
#4
Timer timer = null;为空
然后 timer.schedule(new MailTest(), datetime);
有没有初始化?
然后 timer.schedule(new MailTest(), datetime);
有没有初始化?
#5
初始化确实是一个很重要的环节,上次我也遇到了一个空指针异常的错误,弄了两个小时,才发现这个问题,太诡异了
#6
谢谢大家了,这个问题搞了N久,没想到是这个环节出了问题
#7
Timer timer = null;
Timer没有初始化啊,后面调用它就会报空指针错了...
#8
没有初始化,你使用它肯定会报NullPointerException,以后小心啊