Python:如何在捕获到异常后停止执行?

时间:2018-10-19 17:13:06

标签: python exception-handling try-catch

我有一个类dataset.py,它具有许多功能,并且还实现了一个记录器,如下所示:

class dataset:
    def get_data():
        try:
            if(sourcefile != None):
                if not os.path.isfile(sourceFile):
                    raise FileNotFoundError
        except FileNotFoundError:
            logger.error('File not found!')
    def do_something():
        return

我通过以下方式使用这些类:

datasetObj = dataset()
datasetObj.get_data()
datasetObj.do_something()

现在,即使get_data()引发FileNotFoundError,它也会在except块中处理,程序将继续转到do_something()。

如何停止此操作?如果存在找不到文件的错误,则应该停止执行。 如何将异常返回给调用者并使我的main.py不再执行?

1 个答案:

答案 0 :(得分:1)

您可以做几件事。

import sys # top of your code
sys.exit(1) 

我相信您也可以立即通过以下方式提出例外情况:

raise 

登录后立即执行此操作