Ausgabeporblem

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
eiskuesschen
User
Beiträge: 6
Registriert: Mittwoch 5. Januar 2011, 17:44

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 :)
Benutzeravatar
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:
cofi hat geschrieben:Tipp: Die Ausgabe ist truegerisch, weil `finally` Bloecke _immer_ ausgefuehrt werden.
lunar

@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.
eiskuesschen
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
Benutzeravatar
mkesper
User
Beiträge: 919
Registriert: Montag 20. November 2006, 15:48
Wohnort: formerly known as mkallas
Kontaktdaten:

Ich habe noch nie eine Python-Version gesehen, die deutsche Exceptions liefert, da ist irgend etwas seltsam.
Antworten