Quando executo um script em lote usando um programa GDAL / OGR , posso detectar se ocorreu um erro verificando
ERRORLEVEL
o valor 1.Ao usar GDAL / OGR em python ou .NET , recebo uma exceção quando ocorre um erro.
Pergunta:
Como detecto se um Warning
foi emitido durante a execução?
Por quê?
Mesmo que um processo possa ser executado até o fim, apesar dos avisos, a saída pode estar corrompida com relação aos dados que eu espero. Você poderia argumentar que eu deveria verificar essas corrupções, mas como tenho controle de todo o processo, gostaria de poder parar quando um aviso for emitido.
Respostas:
Se você estiver usando o GDAL 1.10+, as ligações python permitem especificar um python que pode ser chamado como manipulador de erros . No entanto, esses manipuladores de erro parecem ser chamados em um thread separado e quaisquer exceções levantadas não se propagam de volta para o thread principal . Então, algo assim não funcionará:
Mas você pode fazer algo assim:
fonte