Python - 提升自定义异常

时间:2017-06-21 14:35:29

标签: python exception

引发异常并让用户知道它是从my_module引发的正确方法是什么,即使它是一个常见的python异常,如ValueError:

#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))

我希望用户知道异常是在我的模块中输入的,即使它是一般的python异常。

编辑1:抱歉,我应该更好地解释一下: 即使我不知道上面的代码会抛出什么样的异常,我希望用户知道这是一个源自my_module的错误。 这是最好的做法吗? 我应该如何处理自定义模块中的意外异常?

1 个答案:

答案 0 :(得分:0)

您可以执行以下操作:

#...

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

#....