Python löst TypeError auf issubclass () aus, wenn issubclass () nie aufgerufen wird

8

Ich habe ein Stück Code, das die meiste Zeit perfekt läuft, aber ab und zu bekomme ich diesen Fehler im Traceback:

%Vor%

Ich weiß, was issubclass() macht und verstehe den Fehler, aber ich habe ihn nie aufgerufen; Diese Zeile im Code ist reine Arithmetik, also weiß ich nicht, warum diese TypeError an erster Stelle steht. Meine einzige Theorie ist, dass Numpy es hinter den Kulissen aufruft, aber dann sollte das Traceback die problematische Linie in der Numpy-Quelle zeigen, richtig? Was ist los?

Aktualisierungen:

wv ist ein Array von Floats und sm2 ist ein Float-Skalar. Der Fehler wird tatsächlich von numpy.log ausgelöst, d. H. Der (neuen) Zeile

%Vor%

In der Fehlermeldung werden jedoch keine weiteren Informationen angezeigt.

Weitere Updates:

Meine aktuelle Version von Numpy (von einer Python-Eingabeaufforderung):

%Vor%

Ich habe die Problemlinie in

geändert %Vor%

und bekam die Ausgabe

%Vor%

Es macht also Sinn, dass es eine Art Fehler geben würde, aber wenn ich dies (an einer Python-Eingabeaufforderung) mache

%Vor%

Ich bekomme den Fehler, den ich erwarten würde (und bin bereits im fraglichen Code über das warning Modul):

%Vor%     
nosuchthingasstars 02.01.2013, 19:51
quelle

1 Antwort

3

Das war schließlich ein Fehler in meinem Code ... Wie @seberg darauf hinweist, funktioniert dieser Code normal:

%Vor%

numpy.seterr bietet eine Alternative zum Umgang mit RuntimeWarning auf diese Weise, obwohl:

%Vor%

Wie auch immer, es funktioniert, obwohl Python wirklich eine Art Ausnahme auslösen sollte, um statt einer Klasse eine Zeichenfolge an warnings.simplefilter zu übergeben.

    
nosuchthingasstars 02.01.2013, 22:27
quelle

Tags und Links