如何修复'除ValueError'之外的无效语法错误?

Sab*_*Gül 11 python python-3.x

我正在尝试编写一个简单的异常处理.然而,我似乎做错了什么.

def average():
    TOTAL_VALUE = 0
    FILE = open("Numbers.txt", 'r')

    for line in FILE:
        AMOUNT = float(line)
        TOTAL_VALUE += AMOUNT
        NUMBERS_AVERAGE = TOTAL_VALUE / AMOUNT
    print("the average of the numbers in 'Numbers.txt' is :",
        format(NUMBERS_AVERAGE, '.2f')) 

    FILE.close()

    except ValueError,IOError as err:
        print(err)

average()

> line 14
>         except ValueError as err:
>              ^
>     SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

iCo*_*dez 15

这里有两件事是错的.首先,您需要括号来包含错误:

except (ValueError,IOError) as err:
Run Code Online (Sandbox Code Playgroud)

其次,您需要try使用该except行:

def average():
    try:
        TOTAL_VALUE = 0
        FILE = open("Numbers.txt", 'r')

        for line in FILE:
            AMOUNT = float(line)
            TOTAL_VALUE += AMOUNT
            NUMBERS_AVERAGE = TOTAL_VALUE / AMOUNT
        print("the average of the numbers in 'Numbers.txt' is :",
            format(NUMBERS_AVERAGE, '.2f')) 

        FILE.close()

    except (ValueError,IOError) as err:
        print(err)
Run Code Online (Sandbox Code Playgroud)

except不能没用try.