Ich lerne Python und bin auf ein Konzept gestoßen, das ich nicht ohne weiteres verdauen kann: den optionalen else
Block innerhalb des try
Konstrukts.Warum sonst noch in try/except in Python konstruieren?
Nach the documentation:
Die try ... except-Anweisung hat eine optionale else-Klausel, die, wenn sie vorhanden, muss außer Klauseln werden alle. Es ist nützlich für Code, dass ausgeführt werden muss, wenn die try-Klausel keine Ausnahme auslöst.
Was ich bin verwirrt darüber, warum haben die Code, wenn die try-Klausel ausgeführt werden müssen keine Ausnahme innerhalb des try-Konstrukt erhöhen - warum nicht einfach haben, es folgen die Try/außer an der gleichen Einzugsebene? Ich denke, es würde die Optionen für die Ausnahmebehandlung vereinfachen. Oder eine andere Art zu fragen wäre, was der Code im Block else
tun würde, würde nicht getan werden, wenn er einfach der try-Anweisung folgen würde, unabhängig davon. Vielleicht vermisse ich etwas, erleuchte mich.
Diese Frage ist ähnlich wie this one aber ich konnte nicht finden, wonach ich suche.
ah, OK ... macht absolut Sinn. Warum also nicht am Ende des Probierabschnitts? ist es wegen der Möglichkeit, dass der Code selbst die Ausnahme auslöst und Sie den Umfang der Ausnahme Herkunft begrenzen wollen? – amphibient
Yup. Es ist üblich, es in anderen Sprachen in "try" zu schreiben, besonders wenn es keinen 'except' Block gibt, aber in Python haben wir' else', also verwenden wir das. – user2357112
ausgezeichnete Klarstellung, danke – amphibient