Twisted에서 Protocol.dataReceived를 디버깅하는 방법

매지 에르

나는 twisted를 처음 접했고 객체 dataReceived메서드 내에서 코드를 디버깅하는 데 문제가 twisted.internet.protocol.Protocol있습니다.

이와 같은 코드가 주어지면

class Printer(Protocol):
    def dataReceived(self, data):
        print data # Works perfectly
        print toto # should trigger some error since "toto" is not defined
...
response.deliverBody(Printer())

나는 추가하는 방법을 찾을 수 없습니다 Errback에를 dataReceived. 방법이 있습니까? 동작을 디버깅하는 다른 방법은 무엇입니까?

도움을 주셔서 미리 감사드립니다.

악명 높은

일반적으로 사용자가 제어 할 수 dataReceived있는 기능이 아니기 때문에 직접 오류를 포착 할 수 없습니다 deferred. 당신은 호출 할 수 있습니다 addErrbackdeferred객체. 다음은 오류를 포착하는 방법의 예입니다.

from twisted.internet.protocol import Protocol
from twisted.internet.defer import Deferred

class Printer(Protocol):
    def dataReceived(self, data):
        d = Deferred()
        d.addCallback(self.display_data)
        d.addErrback(self.error_func)
        d.callback(data)

    def display_data(self, data):
        print(data)
        print(toto)    # this will raise NameError error

    def error_func(self, error):
        print('[!] Whoops here is the error: {0}'.format(error))

A deferreddataReceived인쇄 함수 data와 유효하지 않은 toto변수에 생성됩니다. errorback 함수 (예 :) self.error_func()display_data(). dataReceived 함수 자체에 오류가 발생하지 않도록 매우 열심히 노력해야합니다. 항상 가능한 것은 아니지만 시도해야합니다. 도움이 되었기를 바랍니다

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Mac에서 Docker를 사용하여 디버깅하는 방법

분류에서Dev

Visual Studio Code에서 Lua를 디버깅하는 방법

분류에서Dev

VSCode에서 Deno를 디버깅하는 방법

분류에서Dev

Next.js에서 getStaticProps (및 getStaticPaths)를 디버깅하는 방법

분류에서Dev

Chrome 브라우저에서 AngularJS를 디버깅하는 방법

분류에서Dev

Browserify에서 js를 디버깅하는 방법

분류에서Dev

Visual Studio 2013에서 QFixed를 디버깅하는 방법

분류에서Dev

이 내 클래스를 PHP에서 디버깅하는 방법

분류에서Dev

Excel Index 함수에서 #REF를 디버깅하는 방법

분류에서Dev

WAITING 상태에서 Java Thread를 디버깅하는 방법

분류에서Dev

HTML에서 디버깅하는 방법

분류에서Dev

Linux에서 USB 문제를 이해하고 디버깅하는 방법

분류에서Dev

Kubernetes에 배포 된 Dask Gateway에서 CommClosedError를 디버깅하는 방법

분류에서Dev

Visual Studio 2013에서 Azure 에뮬레이터를 디버깅하는 방법

분류에서Dev

"내부 서버 오류"를 디버깅하는 방법은 무엇입니까?

분류에서Dev

각도 프로젝트에서 깨진 Lint를 디버깅하는 방법

분류에서Dev

Rust에서 "non-assert"디버깅 코드를 작성하는 방법

분류에서Dev

PyPy에서 GC를 디버깅하는 방법은 무엇입니까?

분류에서Dev

Matplotlib에서 산점도를 디버깅하는 방법은 무엇입니까?

분류에서Dev

IDE에서 SWF를 디버깅하는 방법은 무엇입니까?

분류에서Dev

Plone에서 Zope의 번역 기계를 디버깅하는 방법

분류에서Dev

C에서 Vigenere 암호를 디버깅하는 방법은 무엇입니까?

분류에서Dev

POST 인 SSL REST 서비스 코드를 디버깅하는 방법

분류에서Dev

서버에서 시작할 때 실행되지 않는 sshd를 디버깅하는 방법

분류에서Dev

레일의 태스크 서버에서 실행되는 코드를 디버깅하는 방법

분류에서Dev

.vsix 패키지에 디버깅 기호를 포함하는 방법

분류에서Dev

cfWindow에서 디버깅 정보를 얻는 방법

분류에서Dev

ArangoDB에서 자세한 디버깅 정보를 얻는 방법

분류에서Dev

RoR 앱에서 백그라운드 비디오 용 HTML5 / CSS를 디버깅하는 방법

Related 관련 기사

  1. 1

    Mac에서 Docker를 사용하여 디버깅하는 방법

  2. 2

    Visual Studio Code에서 Lua를 디버깅하는 방법

  3. 3

    VSCode에서 Deno를 디버깅하는 방법

  4. 4

    Next.js에서 getStaticProps (및 getStaticPaths)를 디버깅하는 방법

  5. 5

    Chrome 브라우저에서 AngularJS를 디버깅하는 방법

  6. 6

    Browserify에서 js를 디버깅하는 방법

  7. 7

    Visual Studio 2013에서 QFixed를 디버깅하는 방법

  8. 8

    이 내 클래스를 PHP에서 디버깅하는 방법

  9. 9

    Excel Index 함수에서 #REF를 디버깅하는 방법

  10. 10

    WAITING 상태에서 Java Thread를 디버깅하는 방법

  11. 11

    HTML에서 디버깅하는 방법

  12. 12

    Linux에서 USB 문제를 이해하고 디버깅하는 방법

  13. 13

    Kubernetes에 배포 된 Dask Gateway에서 CommClosedError를 디버깅하는 방법

  14. 14

    Visual Studio 2013에서 Azure 에뮬레이터를 디버깅하는 방법

  15. 15

    "내부 서버 오류"를 디버깅하는 방법은 무엇입니까?

  16. 16

    각도 프로젝트에서 깨진 Lint를 디버깅하는 방법

  17. 17

    Rust에서 "non-assert"디버깅 코드를 작성하는 방법

  18. 18

    PyPy에서 GC를 디버깅하는 방법은 무엇입니까?

  19. 19

    Matplotlib에서 산점도를 디버깅하는 방법은 무엇입니까?

  20. 20

    IDE에서 SWF를 디버깅하는 방법은 무엇입니까?

  21. 21

    Plone에서 Zope의 번역 기계를 디버깅하는 방법

  22. 22

    C에서 Vigenere 암호를 디버깅하는 방법은 무엇입니까?

  23. 23

    POST 인 SSL REST 서비스 코드를 디버깅하는 방법

  24. 24

    서버에서 시작할 때 실행되지 않는 sshd를 디버깅하는 방법

  25. 25

    레일의 태스크 서버에서 실행되는 코드를 디버깅하는 방법

  26. 26

    .vsix 패키지에 디버깅 기호를 포함하는 방법

  27. 27

    cfWindow에서 디버깅 정보를 얻는 방법

  28. 28

    ArangoDB에서 자세한 디버깅 정보를 얻는 방법

  29. 29

    RoR 앱에서 백그라운드 비디오 용 HTML5 / CSS를 디버깅하는 방법

뜨겁다태그

보관