首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >未报告的异常% twitter4j.TwitterException;必须捕获或声明为引发

未报告的异常% twitter4j.TwitterException;必须捕获或声明为引发
EN

Stack Overflow用户
提问于 2021-08-02 13:29:41
回答 1查看 28关注 0票数 0

我有一个代码,它提供了获取twitter时间表,我正在尝试构建一个程序,但我在intellij Idea中看到了这个错误:

代码语言:javascript
复制
java: unreported exception twitter4j.TwitterException; must be caught or declared to be thrown

但是在eclipse ide中没有错误。

我的代码:

代码语言:javascript
复制
    @SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) throws TwitterException {
        SpringApplication.run(DemoApplication.class, args);
    } {
    ConfigurationBuilder cb = new ConfigurationBuilder();
    cb.setDebugEnabled(true)
            .

    setOAuthConsumerKey("XXX")
            .

    setOAuthConsumerSecret("XXX")
            .

    setOAuthAccessToken("XXX")
            .

    setOAuthAccessTokenSecret("XXX");

    TwitterFactory tf = new TwitterFactory(cb.build());
    twitter4j.Twitter twitter = tf.getInstance();
    List <Status> status = twitter.getHomeTimeline();
        for(
    Status st:status)

    {
        System.out.println(st.getUser().getName() + "----------" + st.getText());
    }
}

}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-02 13:37:19

您需要处理初始化程序块的代码可以抛出的TwitterException,方法是将它包装在一个try-catch中。在main方法中添加throws TwitterException不会解决问题,因为异常不会在main方法中抛出。

代码语言:javascript
复制
{
    try {
        ConfigurationBuilder cb = new ConfigurationBuilder();

        List <Status> status = twitter.getHomeTimeline();
            for(
        Status st:status)

        {
            System.out.println(st.getUser().getName() + "----------" + st.getText());
        }
    } catch(TwitterException ex) {
        ... // handle exception
    }
}

如果这是一个控制台应用程序,您可以更改代码以使用CommandLineRunner (请参见https://www.baeldung.com/spring-boot-console-app)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68622468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档