Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 最后捕获或返回实例或空引用_Java_Exception_Exception Handling_Error Handling_Jakarta Mail - Fatal编程技术网

Java 最后捕获或返回实例或空引用

Java 最后捕获或返回实例或空引用,java,exception,exception-handling,error-handling,jakarta-mail,Java,Exception,Exception Handling,Error Handling,Jakarta Mail,使用,如何获取getMessage(stringnewsgroup,inti)以返回真正的javax.mail.Message或空的消息 init: Deleting: /home/thufir/NetBeansProjects/USENET/build/built-jar.properties deps-jar: Updating property file: /home/thufir/NetBeansProjects/USENET/build/built-jar.properties Del

使用,如何获取
getMessage(stringnewsgroup,inti)
以返回真正的
javax.mail.Message
或空的
消息

init:
Deleting: /home/thufir/NetBeansProjects/USENET/build/built-jar.properties
deps-jar:
Updating property file: /home/thufir/NetBeansProjects/USENET/build/built-jar.properties
Deleted 1 out of date files in 0 seconds
Compiling 2 source files to /home/thufir/NetBeansProjects/USENET/build/classes
warning: Supported source version 'RELEASE_6' from annotation processor 'org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor' less than -source '1.7'
warning: The following options were not recognized by any processor: '[eclipselink.canonicalmodel.use_static_factory]'
1 warning
Copying 1 file to /home/thufir/NetBeansProjects/USENET/build/classes
compile:
run:
DEBUG: nntp: newsrc loading /home/thufir/.newsrc
DEBUG: nntp: newsrc load: 6 groups in 31ms
[EL Info]: 2012-07-31 05:21:51.235--ServerSession(1478593)--EclipseLink, version: Eclipse Persistence Services - 2.3.0.v20110604-r9504
[EL Info]: 2012-07-31 05:21:52.523--ServerSession(1478593)--file:/home/thufir/NetBeansProjects/USENET/build/classes/_USENETPU login successful
[EL Warning]: 2012-07-31 05:21:52.672--ServerSession(1478593)--Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.3.0.v20110604-r9504): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'usenet.HEADERFIELD' doesn't exist
Error Code: 1146
Call: ALTER TABLE HEADERFIELD DROP FOREIGN KEY FK_HEADERFIELD_ARTICLE_ID
Query: DataModifyQuery(sql="ALTER TABLE HEADERFIELD DROP FOREIGN KEY FK_HEADERFIELD_ARTICLE_ID")
[EL Warning]: 2012-07-31 05:21:52.687--ServerSession(1478593)--Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.3.0.v20110604-r9504): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown table 'ARTICLE'
Error Code: 1051
Call: DROP TABLE ARTICLE
Query: DataModifyQuery(sql="DROP TABLE ARTICLE")
[EL Warning]: 2012-07-31 05:21:52.797--ServerSession(1478593)--Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.3.0.v20110604-r9504): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown table 'HEADERFIELD'
Error Code: 1051
Call: DROP TABLE HEADERFIELD
Query: DataModifyQuery(sql="DROP TABLE HEADERFIELD")
Jul 31, 2012 5:21:53 AM net.bounceme.dur.usenet.driver.FetchBean <init>
INFO: [gwene.ca.craigslist.vancouver.labour.general, gwene.com.androidcentral, gwene.com.blogspot.emacsworld, gwene.com.blogspot.googlecode, gwene.com.blogspot.googlereader, gwene.com.economist]
Jul 31, 2012 5:21:53 AM net.bounceme.dur.usenet.model.Usenet getMessage
SEVERE: null
javax.mail.MessageRemovedException: No such article: 5
    at gnu.mail.providers.nntp.NNTPFolder.getMessage(NNTPFolder.java:330)
    at net.bounceme.dur.usenet.model.Usenet.getMessage(Usenet.java:72)
    at net.bounceme.dur.usenet.driver.FetchBean.<init>(FetchBean.java:40)
    at net.bounceme.dur.usenet.driver.FetchBean.main(FetchBean.java:24)

Jul 31, 2012 5:21:53 AM net.bounceme.dur.usenet.model.Usenet getMessage
SEVERE: null
javax.mail.MessageRemovedException: No such article: 6
    at gnu.mail.providers.nntp.NNTPFolder.getMessage(NNTPFolder.java:330)
    at net.bounceme.dur.usenet.model.Usenet.getMessage(Usenet.java:72)
    at net.bounceme.dur.usenet.driver.FetchBean.<init>(FetchBean.java:40)
    at net.bounceme.dur.usenet.driver.FetchBean.main(FetchBean.java:24)

Jul 31, 2012 5:21:53 AM net.bounceme.dur.usenet.model.Usenet getMessage
SEVERE: null
javax.mail.MessageRemovedException: No such article: 7
    at gnu.mail.providers.nntp.NNTPFolder.getMessage(NNTPFolder.java:330)
    at net.bounceme.dur.usenet.model.Usenet.getMessage(Usenet.java:72)
    at net.bounceme.dur.usenet.driver.FetchBean.<init>(FetchBean.java:40)
    at net.bounceme.dur.usenet.driver.FetchBean.main(FetchBean.java:24)

Jul 31, 2012 5:21:53 AM net.bounceme.dur.usenet.model.Usenet getMessage
SEVERE: null
javax.mail.MessageRemovedException: No such article: 8
    at gnu.mail.providers.nntp.NNTPFolder.getMessage(NNTPFolder.java:330)
    at net.bounceme.dur.usenet.model.Usenet.getMessage(Usenet.java:72)
    at net.bounceme.dur.usenet.driver.FetchBean.<init>(FetchBean.java:40)
    at net.bounceme.dur.usenet.driver.FetchBean.main(FetchBean.java:24)

Jul 31, 2012 5:21:53 AM net.bounceme.dur.usenet.model.Usenet getMessage
SEVERE: null
javax.mail.MessageRemovedException: No such article: 9
    at gnu.mail.providers.nntp.NNTPFolder.getMessage(NNTPFolder.java:330)
    at net.bounceme.dur.usenet.model.Usenet.getMessage(Usenet.java:72)
    at net.bounceme.dur.usenet.driver.FetchBean.<init>(FetchBean.java:40)
    at net.bounceme.dur.usenet.driver.FetchBean.main(FetchBean.java:24)

Jul 31, 2012 5:21:53 AM net.bounceme.dur.usenet.model.Usenet getMessage
SEVERE: null
javax.mail.MessageRemovedException: No such article: 10
    at gnu.mail.providers.nntp.NNTPFolder.getMessage(NNTPFolder.java:330)
    at net.bounceme.dur.usenet.model.Usenet.getMessage(Usenet.java:72)
    at net.bounceme.dur.usenet.driver.FetchBean.<init>(FetchBean.java:40)
    at net.bounceme.dur.usenet.driver.FetchBean.main(FetchBean.java:24)

Jul 31, 2012 5:21:53 AM net.bounceme.dur.usenet.model.Usenet getMessage
SEVERE: null
javax.mail.MessageRemovedException: No such article: 9
    at gnu.mail.providers.nntp.NNTPFolder.getMessage(NNTPFolder.java:330)
    at net.bounceme.dur.usenet.model.Usenet.getMessage(Usenet.java:72)
    at net.bounceme.dur.usenet.driver.FetchBean.<init>(FetchBean.java:40)
    at net.bounceme.dur.usenet.driver.FetchBean.main(FetchBean.java:24)

Jul 31, 2012 5:21:53 AM net.bounceme.dur.usenet.model.Usenet getMessage
SEVERE: null
javax.mail.MessageRemovedException: No such article: 10
    at gnu.mail.providers.nntp.NNTPFolder.getMessage(NNTPFolder.java:330)
    at net.bounceme.dur.usenet.model.Usenet.getMessage(Usenet.java:72)
    at net.bounceme.dur.usenet.driver.FetchBean.<init>(FetchBean.java:40)
    at net.bounceme.dur.usenet.driver.FetchBean.main(FetchBean.java:24)

BUILD SUCCESSFUL (total time: 10 seconds)
init:
删除:/home/thufir/NetBeansProjects/USENET/build/build-jar.properties
deps jar:
正在更新属性文件:/home/thufir/NetBeansProjects/USENET/build/build-jar.properties
在0秒内删除了1个过期文件
将2个源文件编译到/home/thufir/NetBeansProjects/USENET/build/classes
警告:注释处理器org.eclipse.persistence.internal.jpa.modelgen.CanonicalModelProcessor支持的源版本“RELEASE_6”小于-源代码“1.7”
警告:任何处理器都无法识别以下选项:“[eclipselink.canonicalmodel.use_static_factory]”
1警告
正在将1个文件复制到/home/thufir/NetBeansProjects/USENET/build/classes
汇编:
运行:
调试:nntp:newsrc加载/home/thufir/.newsrc
调试:nntp:newsrc加载:31ms内6组
[EL Info]:2012-07-31 05:21:51.235——服务器会话(1478593)——EclipseLink,版本:EclipsePersistenceServices-2.3.0.v20110604-r9504
[EL Info]:2012-07-31 05:21:52.523——服务器会话(1478593)——文件:/home/thufir/NetBeansProjects/USENET/build/classes/_USENETPU登录成功
[EL Warning]:2012-07-31 05:21:52.672——服务器会话(1478593)——异常[EclipseLink-4002](Eclipse持久性服务-2.3.0.v20110604-r9504):org.Eclipse.Persistence.exceptions.DatabaseException
内部异常:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:表“usenet.HEADERFIELD”不存在
错误代码:1146
调用:ALTER TABLE HEADERFIELD DROP外键FK\u HEADERFIELD\u ARTICLE\u ID
查询:DataModifyQuery(sql=“ALTER TABLE HEADERFIELD DROP外键FK\u HEADERFIELD\u ARTICLE\u ID”)
[EL Warning]:2012-07-31 05:21:52.687——服务器会话(1478593)——异常[EclipseLink-4002](Eclipse持久性服务-2.3.0.v20110604-r9504):org.Eclipse.Persistence.exceptions.DatabaseException
内部异常:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:未知表“ARTICLE”
错误代码:1051
呼叫:投递表格文章
查询:DataModifyQuery(sql=“DROP TABLE ARTICLE”)
[EL Warning]:2012-07-31 05:21:52.797——服务器会话(1478593)——异常[EclipseLink-4002](Eclipse持久性服务-2.3.0.v20110604-r9504):org.Eclipse.Persistence.exceptions.DatabaseException
内部异常:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:未知表'HEADERFIELD'
错误代码:1051
呼叫:投递台头场
查询:DataModifyQuery(sql=“DROP TABLE HEADERFIELD”)
2012年7月31日上午5:21:53 net.bounceme.dur.usenet.driver.FetchBean
信息:[gwene.ca.craigslist.温哥华.labour.general,gwene.com.androidcentral,gwene.com.blogspot.emacsworld,gwene.com.blogspot.googlecode,gwene.com.blogspot.googlereader,gwene.com.economist]
2012年7月31日上午5:21:53 net.bounceme.dur.usenet.model.usenet getMessage
严重:空
javax.mail.MessageRemovedException:没有这样的文章:5
位于gnu.mail.providers.nntp.NNTPFolder.getMessage(NNTPFolder.java:330)
位于net.bounceme.dur.usenet.model.usenet.getMessage(usenet.java:72)
位于net.bounceme.dur.usenet.driver.FetchBean。(FetchBean.java:40)
位于net.bounceme.dur.usenet.driver.FetchBean.main(FetchBean.java:24)
2012年7月31日上午5:21:53 net.bounceme.dur.usenet.model.usenet getMessage
严重:空
javax.mail.MessageRemovedException:没有这样的文章:6
位于gnu.mail.providers.nntp.NNTPFolder.getMessage(NNTPFolder.java:330)
位于net.bounceme.dur.usenet.model.usenet.getMessage(usenet.java:72)
位于net.bounceme.dur.usenet.driver.FetchBean。(FetchBean.java:40)
位于net.bounceme.dur.usenet.driver.FetchBean.main(FetchBean.java:24)
2012年7月31日上午5:21:53 net.bounceme.dur.usenet.model.usenet getMessage
严重:空
javax.mail.MessageRemovedException:没有这样的文章:7
位于gnu.mail.providers.nntp.NNTPFolder.getMessage(NNTPFolder.java:330)
位于net.bounceme.dur.usenet.model.usenet.getMessage(usenet.java:72)
位于net.bounceme.dur.usenet.driver.FetchBean。(FetchBean.java:40)
位于net.bounceme.dur.usenet.driver.FetchBean.main(FetchBean.java:24)
2012年7月31日上午5:21:53 net.bounceme.dur.usenet.model.usenet getMessage
严重:空
javax.mail.MessageRemovedException:没有这样的文章:8
位于gnu.mail.providers.nntp.NNTPFolder.getMessage(NNTPFolder.java:330)
位于net.bounceme.dur.usenet.model.usenet.getMessage(usenet.java:72)
位于net.bounceme.dur.usenet.driver.FetchBean。(FetchBean.java:40)
位于net.bounceme.dur.usenet.driver.FetchBean.main(FetchBean.java:24)
2012年7月31日上午5:21:53 net.bounceme.dur.usenet.model.usenet getMessage
严重:空
javax.mail.MessageRemovedException:没有这样的文章:9
位于gnu.mail.providers.nntp.NNTPFolder.getMessage(NNTPFolder.java:330)
位于net.bounceme.dur.usenet.model.usenet.getMessage(usenet.java:72)
位于net.bounceme.dur.usenet.driver.FetchBean。(FetchBean.java:40)
位于net.bounceme.dur.usenet.driver.FetchBean.main(FetchBean.java:24)
2012年7月31日上午5:21:53 net.bounceme.dur.usenet.model.usenet getMessage
严重:空
javax.mail.MessageRemovedException:没有这样的文章:10
位于gnu.mail.providers.nntp.NNTPFolder.getMessage(NNTPFolder.java:330)
位于net.bounceme.dur.usenet.model.usenet.getMessage(usenet.java:72)
位于net.bounceme.dur.usenet.driver.FetchBean。(FetchBean.java:40)
位于net.bounceme.dur.usenet.driver.FetchBean.main(FetchBean.java:24)
2012年7月31日上午5:21:53 net.bounceme.dur.usenet.model.usenet getMessage
严重:空
javax.mail.MessageRemovedException:没有这样的文章:9
位于gnu.mail.providers.nntp.NNTPFolder.getMessage(NNTPFolder.java:330)
位于net.bounceme.dur.usenet.model.usenet.getMessage(usenet.java:72)
位于net.bounceme.dur.usenet.driver.FetchBean。(FetchBean.java:40)
位于net.bounceme.dur.usenet.driver.FetchBean.main(FetchBean.java:24)
2012年7月31日上午5:21:53 net.bounceme.dur.usenet.model.usenet getMessage
严重:空
javax.mail.MessageRemovedException:没有这样的文章:10
在gnu.mail.providers。
package net.bounceme.dur.usenet.model;

import java.util.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.mail.*;

public enum Usenet {

    INSTANCE;
    private final Logger LOG = Logger.getLogger(Usenet.class.getName());
    private Properties props = new Properties();
    private Folder root = null;
    private Store store = null;
    private List<Folder> folders = new ArrayList<>();
    private Folder folder = null;

    Usenet() {
        LOG.fine("controller..");
        props = PropertiesReader.getProps();
        try {
            connect();
        } catch (Exception ex) {
            Logger.getLogger(Usenet.class.getName()).log(Level.SEVERE, "FAILED TO LOAD MESSAGES", ex);
        }
    }

    private void connect() throws Exception {
        LOG.fine("Usenet.connect..");
        Session session = Session.getDefaultInstance(props);
        session.setDebug(true);
        store = session.getStore(new URLName(props.getProperty("nntp.host")));
        store.connect();
        root = store.getDefaultFolder();
        setFolders(Arrays.asList(root.listSubscribed()));
    }

    public void foo(String ng) throws Exception {
        folder = root.getFolder(ng);
        LOG.fine("opened the folder!!!!!");
        folder.open(Folder.READ_ONLY);
    }

    public List<Message> getMessages(String newsgroup) throws Exception {
        LOG.fine("fetching.." + newsgroup);
        folder = root.getFolder(newsgroup);
        LOG.fine("opened the folder!!!!!");
        folder.open(Folder.READ_ONLY);
        LOG.fine("opened: " + folder.getFullName());
        LOG.fine("opened: " + folder.getFullName());
        LOG.fine("opened: " + folder.getFullName());
        List<Message> messages = Arrays.asList(folder.getMessages());
        LOG.fine("..fetched " + folder);
        return messages;
    }

    public List<Folder> getFolders() {
        LOG.fine("folders " + folders);
        return Collections.unmodifiableList(folders);
    }

    private void setFolders(List<Folder> folders) {
        this.folders = folders;
    }

    public Message getMessage(String newsgroup, int i) {
        Message message = null;
        try {
            LOG.fine("fetching.." + newsgroup);
            folder = root.getFolder(newsgroup);
            folder.open(Folder.READ_ONLY);
            return folder.getMessage(i);
        } catch (MessagingException ex) {
            Logger.getLogger(Usenet.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            return message;//crummy
        }
    }
}
if(!message.isExpunged)  
{  
     //process your message here  
}    
else{
    //log a message about it being expunged  
}