Cuando ejecuto un script por lotes usando un programa GDAL / OGR , puedo detectar si ocurrió un error al verificar
ERRORLEVEL
el valor 1.Cuando uso GDAL / OGR en python o .NET , obtengo una excepción cuando ocurre un error.
Pregunta:
¿Cómo detecto si Warning
se emitió un mensaje durante la ejecución?
¿Por qué?
Aunque un proceso puede ejecutarse hasta el final a pesar de las advertencias, la salida puede estar corrupta con respecto a los datos que espero. Se podría argumentar que debo verificar estas corrupciones, pero como tengo el control de todo el proceso, me gustaría poder detenerme cuando se emita una advertencia.
Respuestas:
Si usa GDAL 1.10+, los enlaces de Python le permiten especificar un Python invocable como un controlador de errores . Sin embargo, estos controladores de errores parecen llamarse en un subproceso separado y las excepciones generadas no se propagan al subproceso principal . Entonces algo como esto no funcionará:
Pero puedes hacer algo como esto:
fuente