python: core dumped.. ¿manejo de excepciones?

Claudio A. Quezada R. claudio.quezada.r en gmail.com
Jue Ago 9 14:55:48 CEST 2007


Hola lista. Bueno, decir que no soy programador, pero no ha sido un
dolor de cabeza escribir algunas cosillas con python (2.5.1) y PyQt
(4.3), por lo que estoy embarcado ahora en diseñar una aplicación
libre multiplataforma. No quiero ser específico (mi mensaje anterior
no era pythonesco sino de PyQt), solo quisiera saber como manejar
excepciones, es decir, quiero que me orienten sobre como puedo revisar
paso a paso lo que hace una función (que la llamo desde la ejecución
del programa), por lo que no se como evaluar paso a paso para ver lo
que anda mal.

Mi funcion:

def generarTabBiometria(self):
        grilla = self.ui.grillaDatos
        biometria = self.ui.grillaBiometria

        biometria.clearContents()
        total = 0

        for j in range(grilla.rowCount()):
            especie = QtGui.QTableWidgetItem()
            especie.setText(grilla.verticalHeaderItem(j).text())
            for i in range(grilla.columnCount()):
                if grilla.item(j,i):
                    estacion = QtGui.QTableWidgetItem()
                    estacion.setText(grilla.horizontalHeaderItem(i).text())
                    individuos = int(grilla.item(j,i).text())
                    total += individuos
                    biometria.setRowCount(total)
                    for k in range(total-individuos,total):
                        biometria.setItem(k,0,estacion)
                        biometria.setItem(k,1,especie)

        biometria.resizeColumnToContents(0)
        biometria.resizeColumnToContents(1)

genera las filas de la 2da grilla (3 columnas: estacion, especie y una
columna vacia) a partir de una 1era grilla que tiene apariciones de
peces por estación. Es algo así:

grillaDatos
                Est_1  Est_2  Est_3
Especie 1       3        0        1
Especie 2       3        4        1
Especie 3       0        9        1

grillaBiometria
    Estacion    Especie   Factor K
1

Y me da un error python core dumped (no lo recuerdo textualmente) si
corro el script en Ubuntu, y bajo winxp me dice:

Qt has caught an exception thrown from an event handler. Throwing
exceptions from an event handler is not supported in Qt. You must
reimplement QApplication::notify() and catch all exceptions there.

¿Cómo averiguo que parte de la función falla?

Gracias de antemano. Saludos,

-- 
Claudio Quezada Romegialli
Ingeniero Ambiental
(02)7321665 - 81466049




Más información sobre la lista de distribución Python-es