2016-03-19 11 views
0

Twitter.getHomeTimeline()は、ユーザーのホームタイムラインから最新のツイートのリストを返します。残念ながら。 Eclipseは、私には手つかずの例外があることを伝えています。メソッドを調べると、getHomeTimeline()は、Twitterのネットワークが利用できないときに例外がスローされると私に通知しました。これはどうやってできるの?私はこのtwitter4j APIを非常に新しくしており、現時点でどのようにネットワークに到達できないのか理解していません。Twitter4j Unhanded Exception

package com.follow3d.rob; 
import java.util.List; 
import twitter4j.*; 
import twitter4j.conf.*; 
public class Follow3d { 

public static void main(String[] args) { 


    ConfigurationBuilder cb = new ConfigurationBuilder(); 
    cb.setDebugEnabled(true) 
     .setOAuthConsumerKey("XXXXXXXXXX")//removed on purpose 
     .setOAuthConsumerSecret("XXXXXXXXXX")//removed on purpose 
     .setOAuthAccessToken("XXXXXXXXXX")//removed on purpose 
     .setOAuthAccessTokenSecret(" XXXXXXXXXX");//removed on purpose 
    TwitterFactory tf = new TwitterFactory(cb.build()); 
    Twitter twitter = tf.getInstance(); 

    List<Status> statuses = twitter.getHomeTimeline(); 
    for (Status status1 : statuses){ 
     System.out.println(status1.getUser().getName() + ": " + status1.getText()); 
     } 
    } 
} 

例外: TwitterException - Twitterのサービスまたはネットワークが利用できない

+0

コンピュータをインターネットから切り離します。 Twitterのサービスまたはネットワークを利用できなくなりました。 – Aurand

+0

@Aurandまあ、ええ..しかし、問題は、私のコンピュータがインターネットに接続されていないと、私はまだこのプログラムを実行するときにこのエラーが表示されます。 – robby

+2

エラーは**コンパイラ**からです。あなたはTwitter4Jから何の例外もありません。コンパイラから、あなたのコード**が宣言されたスローされた例外を処理しなければならないというエラーが表示されます(つまり、それをキャッチするか、再スローします)。 http://docs.oracle.com/javase/tutorial/essential/exceptions/ –

答えて

0

のTaダを!!!!できます!!!助けていただきありがとうございます。私は例外を処理する必要があります。

package com.follow3d.rob; 

import java.util.List; 
import twitter4j.*; 
import twitter4j.conf.*; 

public class Follow3d { 

public static void main(String[] args) { 

    ConfigurationBuilder cb = new ConfigurationBuilder(); 
    cb.setDebugEnabled(true).setOAuthConsumerKey("xxxxxxxxxx") 
      .setOAuthConsumerSecret("xxxxxxxxxx") 
      .setOAuthAccessToken("xxxxxxxxxx") 
      .setOAuthAccessTokenSecret("xxxxxxxxxx"); 
    TwitterFactory tf = new TwitterFactory(cb.build()); 
    Twitter twitter = tf.getInstance(); 
    try { 
     List<Status> statuses = twitter.getHomeTimeline(); 
     for (Status status1 : statuses) { 
      System.out.println(status1.getUser().getName() + ": " + status1.getText()); 
     } 
    } catch (TwitterException name) { 
     System.out.println("You don't have internet connection."); 
    } 

    finally { 
     System.out.println("You don't have internet connection."); 
    } 
    } 
} 
+0

''インターネットに接続していません。どうして? –

+0

ええ、あなたは知っていますが、実際にはfinallyステートメントを含める必要はありません。しかし、私は例外をキャッチする方法を学んでいたし、それが必要だと思った。しかし、私は考えていないものを傷つけることはありません。 – robby

+0

しかし、fyi 'finally'は常に実行されます。だからあなたの 'try'がうまくいったら、あなたのログには「インターネットなし」と表示されますが、これは混乱するかもしれません。あなたは通常、リソース(クローズストリーム、データベース接続など)を整理するために最終的に使用します。 –