2013-11-18 11 views
6

Ich versuche, eine einfache Ausnahmebehandlung zu schreiben. Es scheint jedoch, dass ich etwas falsch mache.Wie behebt man einen ungültigen Syntaxfehler bei 'außer ValueError'?

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 
+1

Der Code und die Ausnahme, die Sie anzeigen, stehen im Widerspruch zueinander. Um Ihnen zu helfen, müssen wir den * tatsächlichen * Code und die * tatsächliche * Ausnahme sehen, nicht einige Annäherungen. – NPE

+0

Und bitte nicht Großbuchstaben außer Konstanten. Keine dieser Variablen, die Sie verwenden, sind Konstanten. –

+0

Dies ist der eigentliche Code und die eigentliche Ausnahme. –

Antwort

7

Hier sind zwei Dinge falsch. Zuerst Sie Klammer müssen die Fehler umschließen:

except (ValueError,IOError) as err: 

Zweitens müssen Sie eine try mit dieser except Linie gehen:

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) 

except kann nicht ohne try verwendet werden.

+0

Danke, es hat funktioniert! –

Verwandte Themen