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