2016-08-08 12 views
1

私は私のアプリケーションでその奇妙なエラーを取得しています。 機械化ライブラリのためにこれは生成されていません。例外クラスのtry-exceptをそのクラスに置きました。pythonコードで奇妙な例外 - 機械化とbeautifulsoup

さらに、browser.open()は必要なアドレスを問題なく返します。 また、この例外は10回以内に発生しません。

def check_result(self, submission_id, question_code): 
    """ 
    returns the result of a problem submission. 
    :return: result codde 
    RA - right answer 
    WA - wrong answer 
    CE - Compilation error 
    RE - Runtime Error 
    """ 
    print "================================" 
    print "Response:" 
    try: 
     response = self._br.open(self.URL + '/status/' + question_code) 
    except Exception: # TODO get more specific exception for better stack trace 
     raise ExceptionSet.InternetConnectionFailedException 
    # print response.read() 
    response = BeautifulSoup(response.read(), 'html.parser') 
    tables = response.findChildren('table') 
    table = tables[0] 
    rows = table.findChildren(['tr', 'th']) 
    result = '' 
    flag = False 
    for row in rows: 
     cells = row.findChildren('td') 
     for cell in cells: 
      if cell.string == submission_id: 
       flag = True 
       result = cell.string 
       break 
     if flag: 
      break 
    print result 

正確なスタックトレースは次のとおりです:

Exception mechanize._response.httperror_seek_wrapper: 
<httperror_seek_wrapper (urllib2.HTTPError instance) at 0x7fd87195fbb0 
whose wrapped object = <closeable_response at 0x7fd87490dc20 whose fp = 
<response_seek_wrapper at 0x7fd87195c830 whose wrapped object = 
<closeable_response at 0x7fd87195c2d8 whose fp = <socket._fileobject 
object at 0x7fd8719706d0>>>>> in <bound method API.__del__ of 
<CodeChef.API instance at 0x7fd8749249e0>> ignored 

感謝

私は...

を、それが何であるか見当がつかない。これは、コードで

を助けてください君は!

と申し訳ありませんが、明らかで直接的な問題です。

編集: 明らかに問題はこのコードではありません。 私はまだそれを解決しようとしています。あなたが本当に役立つ手がかりを与えることができれば。

コードへのリンクは次のとおりです。 https://github.com/ParadoxZero/CodechefAPI

私は直接ここにコードを投稿する必要がある場合はコメントしてください。

ありがとうございました!

編集2:

は、エラーの理由を見つけましたが、それはなぜ起こったか、まだ理解していません。私は__ del __()のlogout()関数を呼び出していた __ del __()を削除すると、エラーが修正されました。

しかし、それが何だったのか、それがどうして起こったのかは分かりません。

答えて

1

解決策が見つかりませんでした。そのエラーは、未処理のデストラクタで発生した単純な例外のために発生していました。

例外を処理するコードを作成するか、またはスローします。