繁体   English   中英

Python-引发自定义异常

[英]Python - Raising custom 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异常。

Edit1:对不起,我应该更好地解释一下:即使我也不知道上面的代码可能引发什么样的异常,我想让用户知道这是源自my_module的错误。 这甚至是最佳做法吗? 我应该如何处理自定义模块中的意外异常?

您可以执行以下操作:

#...

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

#....

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM