Re: python: core dumped.. ¿manejo de excepciones?

Chema Cortes pych3m4 en gmail.com
Lun Ago 13 11:36:11 CEST 2007


El 9/08/07, Claudio A. Quezada R. <claudio.quezada.r en gmail.com> escribió:

> Mi funcion:

Supongo que más que función es un "método" de un objeto.

> 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)
>
> Y me da un error python core dumped (no lo recuerdo textualmente)

El problema del "core dumped" es que no deja más rastro que el vaciado
de memoria. El kernel ha considerado que esa aplicación estaba fuera
de control y la ha liquidado.

No entiendo mucho de pyqt, pero veo que en tu método hay objetos
(especie y estacion) que creas, pero que no almacenas en ningún lado.
Posiblemente (ya digo que no conozco pyqt), al retornar del método,
las referencias que maneja la librería qt hayan quedado inválidas al
desaparecer los objetos. Puede que de ahí venga todo el problema.
Intenta guardar estas referencias junto a la referencia que tienes a
la grilla.

También puede que esté equivocado, así que mírate otros ejemplos a ver
cómo lo hacen.




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