2013-06-18 5 views
-1

Я использую twython, чтобы получить некоторые твиты из твиттера. Для того, чтобы получить чириканье я использую попробовать/за исключением, какКак продолжить выполнение после обнаружения исключения?

for follower in followers_file_id: 
    follower = follower.strip() 
    try:  
     if req_user_settings > max_user_settings_req or req_user_tweets > max_tweets_req: 
     time.sleep(15 * 60) 
     tweets_file_name = tweetsFileName(followed_user) 

     user_settings = twitter.show_user(user_id = follower) 
     req_user_settings += 1 

     if not user_settings['protected'] and user_settings['statuses_count'] > 0: 
     tweets = twitter.get_user_timeline(user_id = follower, count = 200, page = 1) 
     req_user_tweets += 1 

     n_tweets =tweets[0]['user']['statuses_count'] 
     n_loops = n_tweets // max_tweets_per_page + 1 
     if n_loops > max_tweet_pages: 
     n_loops = max_tweet_pages 

     if tweets[0]['user']['lang'] == 'en': 
     n_crawled_tweets = writeTweets(tweets, tweets_file_name, n_crawled_tweets) 

     for i_loop in range(1, n_loops):   
     tweets = twitter.get_user_timeline(user_id = follower, count = 200, page = i_loop+1) 
     n_crawled_tweets = writeTweets(tweets, tweets_file_name, n_crawled_tweets) 
     req_user_tweets += 1 

    except TwythonError as e: 
     print str(e) 

Как я могу сказать программе продолжить выполнение после печати ошибки? Причина теперь после печати ошибки, программа останавливается.

+0

Что такое «некоторый код»? – piokuc

+1

Он продолжит выполнение, пожалуйста, покажите весь ваш код – jamylak

+0

Я добавил весь код сейчас – Adham

ответ

1

Весь блок try будет удален, как только произойдет исключение. Если вы хотите продолжить после исключения, вам нужно поймать исключение ранее

как

Try: 
    some code here 
except TwythonError as e: 
    print e 

some more code here 
1
try: 
    some code here 
except TwythonError as e: 
    print e 
finally: 
    #continue 

Имейте в виду, что код всегда будет проходить через наконец секции, таким образом, вы только выполните код, который бросает исключение, внутри раздела try и остальное в секции finally.

Смежные вопросы