如果没有返回异常,则传递异常并引发错误的方法

时间:2018-09-04 15:20:25

标签: python pygsheets

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)

使用不使用google api的pygsheets库,我正在尝试使用给定名称创建电子表格(如果尚不存在)。

我收到异常pygsheets.exceptions.SpreadsheetNotFound:

因此,我需要诸如反向异常之类的东西,或者如果有更好的实践在python中进行操作,您的建议将受到高度赞赏。

1 个答案:

答案 0 :(得分:3)

try子句有一个else部分,如果未引发异常(类似命名,但与众所周知的if-else完全无关),则将执行该部分。所以

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