Ich versuche zu verstehen, was ein Unterschied zwischen dem Erhöhen eines ValueError und einer Exception ist. Ich habe beide im selben Code (sogar im selben Zweig) versucht und das Ergebnis war das gleiche - ich habe eine Fehlermeldung erhalten.Python: Unterschied zwischen ValueError und Exception?
Ich habe diese Frage zu SO recherchiert, aber keine Diskussion dazu gefunden. Dann las ich die Dokumentation von Ausnahmen und fanden die folgende definition von Valueerror:
Raised when a built-in operation or function receives an argument that has the right type but an inappropriate value, and the situation is not described by a more precise exception such as
IndexError
.
So wie ich es verstehe, eine Ausnahme ist ein allgemeiner Begriff, und Valueerror kann in bestimmten Fällen angewendet werden. Aber da die Ergebnisse beider Dinge gleich sind, möchte ich verstehen, was die praktische Bedeutung der Unterscheidung zwischen einem ValueError und einer Exception ist. Python-Version sollte hier nicht relevant sein. Vielen Dank!
BEARBEITEN: Dank Ihrer Antworten habe ich es, was ist der Unterschied zwischen beiden Begriffen in Versuch-Ausnahme-Konstrukt. Aber wie unterscheiden sie sich, wenn sie nur erhoben werden, nicht ausgenommen?
raise Exception('blah')
und
raise ValueError('blah')
zu @PeterWood Answering: In beiden Fällen Ich habe gerade die Fehlermeldung "blah", aber in einem Fall war es "Ausnahme: blah", und in der zweiten: "ValueError: blah". Und ich sehe in diesem Fall keinen praktischen Unterschied zwischen beiden.
Was meinst du * "die Ergebnisse ... sind die gleichen" *? Welche Ergebnisse? Du hast uns nichts gezeigt. –
@PeterWood _ "Das Ergebnis war das gleiche - ich habe eine Fehlermeldung erhalten." _ –
@PeterWood Ich habe meine Frage bearbeitet, bitte sehen Sie sich das an. –