私のアプリにTwitter統合を実装しているときに、Eclipseデバッガーの次の奇妙な点を発見しました。これを引き起こしているのは何ですか?
このAsyncTaskを使用して、twitter4j3.0.3を使用してtwitterからリクエストトークンを取得しています。
public class TwitterRequestAsync extends AsyncTask<Void, Void, RequestToken> {
private Context context;
public TwitterRequestAsync(Context context) {
this.context = context;
}
@Override
protected RequestToken doInBackground( Void... params ) {
Twitter twitter = getTwitter(); // getTwitter() is in enclosing class
try {
RequestToken token = twitter.getOAuthRequestToken();
return token;
}
catch (TwitterException e) {
Log.e( TAG, e.getMessage(), e );
return null;
}
}
@Override
protected void onPostExecute( RequestToken result ) {
super.onPostExecute( result );
if ( result != null ) {
// stuffs concerning request token here
}
}
}
このコードをデバッグすると、getOAuthRequestToken()が実行されたときに例外がスローされ、デバッガーが実行を示している次の行がcatch句にあるように見えます。nullを返します。
ただし、onPostExecute(...)に返される結果は有効な要求トークンであるため、デバッガーは奇妙なことを実行しています。プロジェクトをクリーンアップし、Eclipseを何度も再起動しましたが、この動作は変わりませんでした。私は壊れていますか?