Способ передать исключение и вызвать ошибку, если не возвращено исключение - PullRequest
0 голосов
/ 04 сентября 2018
def create_spreadsheet_with_api(connection, filename):
    try:
       connection.open(filename)
       if (no exception):
           raise exception file already exists
       if (there exception):
           connection.create(filename)

Используя библиотеку pygsheets, которая использует Google API, я пытаюсь создать электронную таблицу с заданным именем, если она еще не существует.

Я получаю исключение pygsheets.exceptions.SpreadsheetNotFound:

Так что мне нужно что-то вроде обратного исключения, или, если есть лучшая практика сделать это на python, ваш совет будет высоко оценен.

1 Ответ

0 голосов
/ 04 сентября 2018

Предложение try имеет часть else, которая выполняется, если не возникает исключение (с аналогичным именем, но полностью не связано с хорошо известным if-else). Так

def create_spreadsheet_with_api(connection, filename):
    try:
        connection.open(filename)
    except FileNotFoundError:
        connection.create(filename)
    else:
        raise FileAlreadyExistsError
...