23. Gestión de errores¶
23.1. Try/Exception¶
A la hora de capturar errores, una de las recomendaciones es utilizar la siguiente estructura try/except:
# encoding: utf-8
import gvsig
from java.lang import Throwable, RuntimeException
from java.lang import Exception as JException, Error
import sys
def main(*args):
print Exception
print JException
print Throwable
print RuntimeException
try:
raise Throwable("hola")
except :
ex = sys.exc_info()[1]
print "Error", ex.__class__.__name__, str(ex)
Esta estructura permite capturar los errores tanto generados en la parte de Python, como en la parte de Java. Además, en la variable «ex» nos aparecerá información suficiente para manejar y sacar información del error.
23.2. Logger¶
La forma correcta de volcar información en la consola es utilizar la función __logger__. Esta función se encuentra en la librería __gvsig_ para su uso desde Jython. Esta función tiene dos parámetros, uno el mensaje, y el otro el tipo de mensaje:
# encoding: utf-8
import gvsig
from gvsig import logger
from gvsig import LOGGER_WARN,LOGGER_INFO,LOGGER_ERROR
def main(*args):
logger("Proceso finalizado", LOGGER_INFO)