Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python-引发自定义异常_Python_Exception - Fatal编程技术网

Python-引发自定义异常

Python-引发自定义异常,python,exception,Python,Exception,引发异常并让用户知道它是从my_模块引发的,哪怕是常见的python异常(如ValueError),正确的方法是什么: #my_module.exceptions.py class MyModuleError(Exception): pass #my_module.do_something.py def do_something(*args): try: some logic here except Exce

引发异常并让用户知道它是从my_模块引发的,哪怕是常见的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:对不起,我应该解释得更清楚一些: 即使我不知道上面的代码可能抛出什么样的异常,我还是希望用户知道这是源于我的_模块的错误。 这是最好的做法吗?
如何处理自定义模块中的意外异常?

您可以执行以下操作:

#...

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

#....

请看,这已经通过显示原始异常(及其模块)的回溯完成。