Python-Fehler Zurückgeben aus Funktion
Ich Schreibe eine python-Funktion, die verwendet zwei arrays gleich groß sind [n,1]. Bevor Sie irgendwelche Berechnungen, ich möchte, um zu überprüfen, dass die Längen gleich sind, und wenn nicht, wird ein Fehler zurückgegeben. Was ist die beste Praxis?
def do_some_stuff(array1, array2):
# Before doing stuff, check to ensure both arrays have the same length
if len(array1) != len(array2):
# Break and return with error
Ich bin verwirrt, weil ich will, zu brechen, und den Fehler-code (z.B. -1). Scheint, dass die Pause wird return ohne Wert, und die return-weiterhin führen Sie die Funktion aus? Oder tut Rückkehr ausbrechen der restlichen code?
Mögliche Duplikate von Manuell anheben (werfen) eine Ausnahme in Python. Diese Frage behandelt, wie man manuell lösen einen Fehler, der verhindert, dass das Skript von der Fortsetzung nach der Rückkehr aus einer Funktion.
return
wird nicht weiter ausgeführt werden die FunktionInformationsquelleAutor GPB | 2015-11-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Brauchen Sie nicht die
break
Nur wieder den Fehler-code. Auf diese Weise wird der rest des Codes der Funktion wird nicht ausgeführt.
InformationsquelleAutor k4ppa
In python-code, Fehler-Bedingungen sind in der Regel mit Ausnahmen. Könnten Sie
raise ValueError("Arrays must have the same size")
.Mit Ausnahme eher als Rückgabewerte Fehler anzuzeigen hat den Vorteil, dass die Ausnahme wäre, sprudeln, bis es erreicht eine
except
- Anweisung. So können Sie verschieben die Fehlerbehandlung an einen Ort, wo es Sinn macht. Auch Ausnahmen, die über einen zugeordneten beschreibenden Nachricht anstelle einer magic number.Den die
break
- Anweisung, wie in vielen anderen Sprachen, wird verwendet, um den Fluss zu unterbrechen in Schleifen, wie diejenigen, erstellt mitwhile
oderfor
.InformationsquelleAutor memoselyk