Tôi có đoạn code sau đây để làm một postback đến một URL từ xa:Tôi cần xử lý lỗi nào/ngoại lệ với urllib2.Request/urlopen?
request = urllib2.Request('http://www.example.com', postBackData, { 'User-Agent' : 'My User Agent' })
try:
response = urllib2.urlopen(request)
except urllib2.HTTPError, e:
checksLogger.error('HTTPError = ' + str(e.code))
except urllib2.URLError, e:
checksLogger.error('URLError = ' + str(e.reason))
except httplib.HTTPException, e:
checksLogger.error('HTTPException')
Các postBackData được tạo ra sử dụng một từ điển được mã hóa sử dụng urllib.urlencode. checksLogger là một trình ghi nhật ký sử dụng logging.
Tôi gặp sự cố khi mã này chạy khi máy chủ từ xa ngừng hoạt động và mã thoát (đây là trên máy chủ của khách hàng vì vậy tôi không biết kết xuất/lỗi ngăn thoát xuất hiện tại thời điểm này). Tôi giả định điều này là do có một ngoại lệ và/hoặc lỗi không được xử lý. Vì vậy, có bất kỳ trường hợp ngoại lệ khác có thể được kích hoạt mà tôi không xử lý ở trên?
là 'checksLogger.error' một hàm do người dùng định nghĩa trong ví dụ của bạn? – codingknob
@ algotr8der: vâng, nó chỉ là copy'n'paste của đăng nhập trong câu hỏi – vartec
okay tuyệt vời. Cảm ơn bạn. – codingknob