Python: Как остановить выполнение после того, как исключение было перехвачено? - PullRequest
0 голосов
/ 19 октября 2018

У меня есть класс 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, она обрабатывается в блоке исключений, и программа продолжает переходить к do_something ().

Как мне это остановить?Если файл не найден, выполнение должно быть остановлено.Как я могу вернуть свое исключение вызывающей стороне и сделать так, чтобы мой main.py больше не выполнялся?

1 Ответ

0 голосов
/ 19 октября 2018

Вы можете сделать пару вещей.

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

Я полагаю, что вы также можете немедленно вызвать исключение с помощью:

raise 

Сделайте это сразу после входа в систему, кроме

...