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

У меня ошибка FileNotFound, которую я хотел бы исправить, подняв ValueError.Ошибка ValueError должна содержать сообщение, но это сообщение не должно отображаться.

def check_file(file):
    try: 
        #open file here
    except FileNotFoundError: 
        raise ValueError("Caught a FileNotFoundError")
    except ValueError:
        print("This is the only thing I want shown) 

Токовый выход:

FileNotFoundError: [Errno 2] No such file or directory: 'nonexistent_file.txt'

During handling of the above exception, another exception occurred:

ValueError: Caught a FileNotFoundError.

Желаемый выход:

This is the only thing I want shown

Ответы [ 2 ]

1 голос
/ 22 сентября 2019

Вы можете заключить вызов в функцию check_file в try: ... except: следующим образом:

def check_file(file):
    try: 
        #open file here
    except FileNotFoundError: 
        raise ValueError("Caught a FileNotFoundError")

try:
    check_file("test")
except ValueError:
    print("This is the only thing I want shown")
0 голосов
/ 22 сентября 2019

Я не понимаю, почему вы хотите вызвать ошибку ValueError.Если вы просто хотите, чтобы «Это единственное, что я хочу показать», чтобы показать, что вы можете просто сделать это

def check_file(file):
    try: 
        #open file here
    except FileNotFoundError:
        print("This is the only thing I want shown)

Если вам нужно вызвать ошибку ValueError, скажите мне, почему, и я постараюсь выяснить это, но яне верю, что это необходимо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...