Frage zum folgenden Skript:
def dividiere(x,y): return(x/y)
tests=((69,23),(42,0),(10,3))
try:
for a,b in tests:
print('Division'),
print(a,b),
print('mit Resultat'),
print dividiere(a,b)
finally:
print('\n Aufraeumen...')
print('\n Bye.')
Division (69,23) mit Resultat 3
Division (42,0) mit Resultat
Fehler wird geworfen, da versucht wird durch Null zu teilen
Aufraeumen...
Division (69,23) mit Resultat 3
Division (42,0) mit Resultat
Aufraeumen...
Fehler wird geworfen, da versucht wird durch Null zu teilen
Division (69,23) mit Resultat 3
Division (42,0) mit Resultat
Fehler wird geworfen, da versucht wird durch Null zu teilen
also jetzt mal meine frage, ich tendiere zum letzten beispiel.
er versucht ja die 42 durch die null zu teilen und dann wird ein fehler geworfen und nicht aufgefangen, beendet dann das porgramm nicht einfach?
jedoch zeigt mir mein terminal an, dass die erstee version richtig ist, aber wieso wird die exception nach aufraeumen angezeigt? obowhl aufrauemen erst danach als finallybefehlt ausgefürht wird
weiß jemand weiter oder kann mir ein tip geben?
merci
Ausgabeporblem
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Bitte benutze [ python ] Tags. Python-Code ohne Whitespace ist nunmal nicht hilfreich.
Direkt aus deinem anderen Thread:
Direkt aus deinem anderen Thread:
cofi hat geschrieben:Tipp: Die Ausgabe ist truegerisch, weil `finally` Bloecke _immer_ ausgefuehrt werden.
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
@eiskuesschen: Mit Verlaub, doch wir sind nicht hier, um Deine Hausaufgaben zu lösen, vor allem nicht, wenn Du Dir nicht einmal die Mühe machst, sie in anständiger Form zu präsentieren.
-
- User
- Beiträge: 6
- Registriert: Mittwoch 5. Januar 2011, 17:44
ich lasse meine hausaufgaben hier nicht machen!
ich verstehe nicht wieso sich hier jeder aufregt, tut mir leid, dass ich das in einer falschen form reingestellt habe, es war nicht meine absicht hier jemanden zu verärgern.
und das sind auch nicht meine hausaufgaben, ich versuche mich einfach mit python auseinander zu setzen.
ich wollte lediglich wissen weshalb der fehler in dieser reihenfolge ausgeführt. für mein verständnis...
denn das letzte war meine lösung und die erste die des compilers
und mit verlaub, antworten brauchst du mir hier nicht mehr falls ich mal wieder meine """""hausaufgaben"""""" gemacht haben will
ich verstehe nicht wieso sich hier jeder aufregt, tut mir leid, dass ich das in einer falschen form reingestellt habe, es war nicht meine absicht hier jemanden zu verärgern.
und das sind auch nicht meine hausaufgaben, ich versuche mich einfach mit python auseinander zu setzen.
ich wollte lediglich wissen weshalb der fehler in dieser reihenfolge ausgeführt. für mein verständnis...
denn das letzte war meine lösung und die erste die des compilers
und mit verlaub, antworten brauchst du mir hier nicht mehr falls ich mal wieder meine """""hausaufgaben"""""" gemacht haben will