【问题标题】:Python - Raising custom exceptionPython - 引发自定义异常
【发布时间】:2017-06-21 14:35:28
【问题描述】:

引发异常并让用户知道它是从 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 异常。

Edit1:抱歉,我应该解释得更好: 即使我不知道上面的代码可能会抛出什么样的异常,我希望用户知道这是源自 my_module 的错误。 这甚至是最佳实践吗? 我应该如何处理自定义模块中的意外异常?

【问题讨论】:

标签: python exception


【解决方案1】:

您可以执行以下操作:

#...

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

#....

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-30
    • 1970-01-01
    • 1970-01-01
    • 2016-03-18
    • 1970-01-01
    • 2012-07-23
    • 1970-01-01
    • 2012-11-15
    相关资源
    最近更新 更多