2017-06-21 2 views
0

Was ist der richtige Weg sein, eine Ausnahme zu erhöhen, und der Benutzer weiß, dass es von my_module erhöht wurde, wenn sein sogar eine gemeinsame Ausnahme Python, wie ein Valueerror:Python - Die Anhebung der benutzerdefinierte Ausnahme

#my_module.exceptions.py 
    class MyModuleError(Exception): 
     pass 

#my_module.do_something.py 
    def do_something(*args): 
     try: 
      some logic here 
     except Exception as e: 
      # i dont know in advance what kinds of exceptions 
      # this code might throw 
      raise MyModuleError('An error ocurred %s' % (repr(e)) 

I möchte, dass der Benutzer weiß, dass die Ausnahme in meinem Modul ausgeführt wurde, obwohl es sich um eine allgemeine Python-Ausnahme handelt.

Edit1: sorry, i should've besser erklärt: Selbst tho Ich weiß nicht, welche Art von Ausnahmen der obigen Code werfen könnte, wie der Benutzer Id zu wissen, dass es ein Fehler von my_module entstanden war. Ist das sogar die beste Praxis? Wie sollte ich unerwartete Ausnahmen in benutzerdefinierten Modulen behandeln?

+0

siehe https://docs.python.org/3/tutorial/errors.html#user-defined-exceptions – depperm

+1

Das bereits von der Zurückverfolgungs erreicht wird, die zeigt die auslösende Ausnahme (und ihr Modul). –

Antwort

0

Sie können folgendes tun:

#... 

raise ValueError('This exception was raised from myModule') 

#.... 
Verwandte Themen