Revision 0304f041 ncclient/transport/session.py
b/ncclient/transport/session.py | ||
---|---|---|
51 | 51 |
listeners = list(self._listeners) |
52 | 52 |
for l in listeners: |
53 | 53 |
logger.debug('dispatching message to %r' % l) |
54 |
try: |
|
55 |
l.callback(root, raw) |
|
56 |
except Exception as e: |
|
57 |
logger.warning('[error] %r' % e) |
|
58 |
|
|
54 |
l.callback(root, raw) # no try-except; fail loudly if you must! |
|
55 |
|
|
59 | 56 |
def _dispatch_error(self, err): |
60 | 57 |
with self._lock: |
61 | 58 |
listeners = list(self._listeners) |
62 | 59 |
for l in listeners: |
63 | 60 |
logger.debug('dispatching error to %r' % l) |
64 |
try: |
|
65 |
l.errback(err) |
|
61 |
try: # here we can be more considerate with catching exceptions
|
|
62 |
l.errback(err)
|
|
66 | 63 |
except Exception as e: |
67 | 64 |
logger.warning('error dispatching to %r: %r' % (l, e)) |
68 | 65 |
|
Also available in: Unified diff