Timer(타이머) 사용시 주의사항!
마스터욱
0
41
0
0
2018-05-03 00:10:58
def start_timer(self):
if self.current_timer:
self.current_timer.stop()
self.current_timer.deleteLater()
self.current_timer = QTimer()
self.current_timer.timeout.connect(self.start_news)
self.current_timer.setSingleShot(True)
self.current_timer.start(self.current_timer_interval)
def start_news(self):
#타이머 안에서는 에러가 안보이게 된다 ㅠㅠ
'''
try:
r = {}
r['test'] = "ttt1"
print(str(r['test2']))
except Exception as error:
self.set_logbox("timer error = " + str(error))
'''
self.current_timer_cnt = self.current_timer_cnt + 1
print("뉴스 타이머 (" + str(self.current_timer_cnt) + ")")
try:
self.get_set_news()
except Exception as error:
self.set_logbox("\n=============================\n타이머 에러가 발생했습니다!\n에러내용 => " + str(error) + "\n=============================\n")
타이머시 호출되는 함수안에서의 프로그램은 에러코드를 뱉어내지 않는다.
이거 아주 중요하다!
난 이제껏 에러코드가 없이 계속 윈폼이 종료가 되길래 메모리 문제인줄만 알았는데 ㅠㅠ;
알고보니 문법상 에러가 있어도 에러를 뱉지않는 문제때문이었다 ㅠㅠ;
그래서 위와같이 try ~ except 문을 넣어주어서 에러를 확인할 수 있게끔 하였다.
이것때문에 일주일은 그냥 날라간 듯 하다. ㅠㅠ
해결했으니 됐지모~