Unentdeckte Programmfehler

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
amarganth
User
Beiträge: 8
Registriert: Dienstag 10. August 2004, 12:24
Wohnort: Bern

Hi Leute

Ich programmiere in Python (2.2) erst seit kurzem. Also übt bitte Nachsicht, wenn ich "dummes" frage.

Mir ist aufgefallen, dass ich in einer relativ komplexen Klasse Programmfehler habe, die erst während der Laufzeit des Programms "entdeckt" werden. Beispiel:

Code: Alles auswählen

    def clip_Says(self, s):                     
        ....
        self.clip_SaysRepBot(s)
        ....

    def clip_SaysRepbot(self, s):             
        ....
Wegen des Fehlers in der Gross-/Kleinschreibung wird beim Durchlaufen des Codes ein Laufzeitfehler ausgegeben.

Von der Funktion "Check module" der IDLE würde ich eigentlich erwarten, dass sie solche Fehler entdeckt. Nota bene weiss ich nicht genau, was sie macht. Eine Beschreibung finde ich nicht.

Gibt es schlaue Möglichkeiten, diese versteckten Fehler zu finden?

Danke für jedweden Tipp.
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Hi amarganth,

dein Beispiel sollte, während der Laufzeit einen NameError erzeugen. Im Vorhinein kann Python so einen Fehler kaum erkennen, bei clip_SaysRepBot könnte es sich ja um eine Methode die erst in einer abgeleiteten Klasse definiert wird handeln. Der Fehler ist aber dann sehr leicht zu finden, dank der meist recht guten Fehlermeldungen von Python.


Gruß

Dookie
[code]#!/usr/bin/env python
import this[/code]
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

Hi. Durchsuch mal das Forum mit dem Stichwort "pychecker" ... das ist ein Tool, das zumindest einige Sachen, die Problematisch werden könnten erkennen kann. Der Rest ist halt konzentrationsfrage, bzw auswerten der Fehlermeldungen. Eine Interpretersprache kann nunmal nicht wie ein Compiler alles vorhersagen, dazu ist sie (zum Glück) zu dynamisch :D .
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

dafür gibts aber bei Python sogut wie nie einen Specherzugriffsfehler ;)


Dookie
[code]#!/usr/bin/env python
import this[/code]
Antworten