json 익셉션 처리
마스터욱
0
27
0
0
2018-04-24 15:28:11
return_data = requests.post(myWindow.api_url, data=post_data)
return_data = return_data.text
api_ok = None
try:
print("return_data = " + return_data)
api_ok = True
except Exception as error:
print(str(error))
self.set_logbox(error)
api_ok = False
if api_ok == True:
#print("return_data = " + str(return_data))
r_data = json.loads(return_data)
#print(r_data['result'])
if r_data['result'] == "OK":
QMessageBox.information(self, "알림", "저장성공")
elif r_data['result'] == "NO":
QMessageBox.information(self, "알림", r_data['msg'])
요 몇일간 날 괴롭힌 부분의 리뷰를 하려고 한다.
이상하게 에러로그는 안뜨고 프로그램이 중간에 가끔 뻗는 현상이 발생했다.
알고보니 API 호출후에 받아오는 json 데이터가 json 형식이 아닐때 발생하는 오류였다.
json.loads(return_data)
여기서 에러가 발생하는데 문제는 여기서 에러가 발생한다는 것을 파이썬이 알려주지 않는다는 것이다.
결국 익셉션을 걸어서 에러가 나면 에러가 보이게끔 문제를 해결했다.(뭐 원천적인 문제는 api 서버의 문제긴함 -_-;)