Hallo.
Ich habe gerade eine kleine Denkblockade.
Ich möchte eine Programm immer wieder von vorne starten bis ich mit einer Eingabe das Programm beende. Das funktioniert mir auch Grundsätzlich mit der While Schleife.
Was mir nicht funktioniert ist das es in den Except-Block springt sobald im Try-Block was schief gelaufen ist.
Hab versucht das mit einem einfachem Code darzustellen:
if __name__ == '__main__':
while_option = True
while while_option:
option = int(input('1, 2 oder 3'))
try:
if option == 1:
print("option 1")
a = int(input('Gib eine Zahl ein!'))
elif option == 2:
print("option 2")
elif option == 3:
print("option 3 ist beenden")
while_option = False
except BaseException as err:
print("except / BaseException" + err)
except ValueError as err:
print("except / ValueError" + err)
except:
print('einfach except')
Zur Erklärung:
Bei Programm Start kommt die Frage 1, 2 oder 3. Bei 1 und 2 startet es von vorne und bei 3 wird es beendet. Soweit so gut und auch gewünscht.
Nur ich dachte jetzt wenn in der Variable a was falsches eingegeben wird dass ich das mit einem except abfangen kann, aber dem ist nicht so.
Was verstehe ich da falsch?
Bzw. Wie könnte man dann so einen Fehler abfangen?
Vielen Dank im Voraus