2014-04-18 6 views
0

PyOSC 트래핑 예외에서 PyOSC 방지 예외의 모든 종류를 처리하지만, 불행하게도 디버깅하기가 어렵습니다. 어떻게 이길 수 있습니까?은 매우 정중

OSCServer: NameError on request from localhost:50542: global name 'cell' is not defined 

일반적으로 파이썬에서, 이것은 도움이 추적에 예외를 던질 것입니다 :

는 예를 들어, 나는 그것이로보고 코딩 버그를 가지고있다. 그러나 PyOSC에서는 이것이 내가 얻은 전부입니다.

PyOSC의 예외 처리는 어떻게 해제합니까?

업데이트 : 한 달 후,이 질문은 제로 의견이나 답변을 받았다. 파이썬, 오픈 사운드 컨트롤, PyOSC 모듈을 사용하는 사람은별로 없다고 생각해보십시오. 드디어 내 자신의 질문에 대답했다. 좋아

답변

0

, 나는 그것을 알아 냈다. PyOSC는 가볍게 문서화 되었기 때문에 소스 코드는 문서로 사용됩니다.

def handle_error(self, request, client_address): 
    """Handle an exception in the Server's callbacks gracefully. 
    Writes the error to sys.stderr and, if the error_prefix (see setSrvErrorPrefix()) is set, 
    sends the error-message as reply to the client 
    """ 
    (e_type, e) = sys.exc_info()[:2] 
    self.printErr("%s on request from %s: %s" % (e_type.__name__, getUrlStr(client_address), str(e))) 

    if self.print_tracebacks: 
     import traceback 
     traceback.print_exc() # XXX But this goes to stderr! 

    if len(self.error_prefix): 
     self.sendOSCerror("%s: %s" % (e_type.__name__, str(e)), client_address) 

을 그리고 여기 당신이 OSCServer 인스턴스를 만들 때에 당신이 추적을 켜 간단한 방법입니다 :이뿐만 아니라 OSCClient 작동

import OSC 

myoscserver = OSC.OSCServer((host, port)) 
myoscserver.print_tracebacks = True 

을 여기

예외 트랩 코드입니다 :

myoscclient = OSC.OSCClient() 
myoscclient.connect((host, port)) 
myoscclient.print_tracebacks = True 

희망이 있습니다.