2016-02-12 120 views
0

我使用請求來管理服務的連接,如果發生異常,我想要捕獲異常。 後來我打電話給我的功能Python請求異常

resp = osTicket.send_ticket(json_message) 
print resp 

包含

def send_ticket(self, data): 
     """send tickets to osticket""" 

     headers = {"X-API-Key": self.api_key} 

     try: 
      r = requests.post(self.url, data=json.dumps(data), headers=headers) 
     except requests.exceptions.RequestException: 
      return r.raise_for_status() 

但不幸的是,回報是無,異常沒有逮住。

回答

0

如果發生異常,則不會爲r分配任何內容,因此您無法調用方法。

異常可能被正確捕獲。

+0

但我需要捕捉異常並返回錯誤消息。 – billyJoe

+0

然後你可以返回異常內容 - 類似於'除了RequestException as e:return e'。或者更好 - 讓異常傳播到你知道如何處理它的地方。 – viraptor