On 13.10.2015 15:43, David Aldrich wrote:
>
I have one more question, which regards style.  Suppose my 'send' method is in 
its own module: TxControl, along with the custom exceptions:

TxControl.py:

class MessageTimeoutError(Exception): pass
class UndefinedMessageTypeError(Exception): pass

def send(msg)
      etc.

Then it seems that an importer of that module must include the module name when 
referencing the exceptions:

import TxControl

try:
     send(msg)
except (TxControl.MessageTimeoutError, TxControl.UndefinedMessageTypeError) as 
err:
     # Exception processing

Including 'TxControl' seems a bit tedious, and is even worse if TxControl 
imports exceptions from yet another module and allows them to pass up the stack.

How would you handle this situation stylistically?


In simple cases, I would just refer to them as you describe.
If things get more complex, you may want to refactor your code into a package anyway, in which case you can define your complete exception hierarchy in __init__.py (or in another dedicated module) and import them from there whenever you need them in other modules.


_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to