Поднимите ValueError, если файл не найден - PullRequest
0 голосов
/ 21 сентября 2019

Я хотел бы вызвать ошибку ValueError, если файл не найден.В настоящее время у меня есть следующее:

def read_file(filename):
    try:
        with open(filename, "r") as f: 
        #do something
    except ValueError:
        print("File not found")

Однако, это просто возвращает FileNotFoundError: если файл не найден

Ответы [ 2 ]

2 голосов
/ 21 сентября 2019

Catch IOError вместо этого и внутри блока исключений поднимите ValueError.

try:
    with open(filename, "r") as f: 
    #do something
except IOError:
    raise ValueError("File not found")
0 голосов
/ 21 сентября 2019

Вы можете быть немного более явным и поднять ValueError, поскольку Python предоставляет возможность не только перехватывать встроенные исключения, но и вызывать их.

def read_file(filename):
    try:
        with open(filename, "r") as f:
            pass # do something
    except FileNotFoundError:
        raise ValueError("File not found")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...