Guest User

Untitled

a guest
Jun 23rd, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.81 KB | None | 0 0
  1. from twisted.internet import defer
  2.  
  3. def callback_one(result):
  4. print('Callback one: got "{}", will raise ZeroDivisionError'.format(result))
  5. raise ZeroDivisionError
  6. # yield
  7.  
  8. def errback_two(failure):
  9. print('Errback two: handled "{}", recovering'.format(failure.type))
  10. return 'recovered'
  11.  
  12. def callback_three(result):
  13. print('Callback three: got "{}"'.format(result))
  14. return 'Final result'
  15.  
  16. if __name__ == '__main__':
  17. d = defer.Deferred()
  18. d.addCallback(callback_one)
  19. d.addErrback(errback_two)
  20. d.addCallback(callback_three)
  21. d.callback('First result')
  22.  
  23. Callback one: got "First result", will raise ZeroDivisionError
  24. Errback two: handled "<class 'ZeroDivisionError'>", recovering
  25. Callback three: got "recovered"
  26.  
  27. Callback three: got "<generator object callback_one at 0x104603af0>"
Add Comment
Please, Sign In to add comment