Wenn ich ein Batch-Skript mit einem GDAL / OGR- Programm ausführe, kann ich anhand
ERRORLEVEL
des Werts 1 feststellen, ob ein Fehler aufgetreten ist .Bei Verwendung von GDAL / OGR in Python oder .NET wird eine Ausnahme angezeigt , wenn ein Fehler auftritt.
Frage:
Wie erkenne ich, ob Warning
während der Ausführung eine ausgegeben wurde?
Warum?
Obwohl ein Prozess trotz Warnungen bis zum Ende ausgeführt werden kann, ist die Ausgabe möglicherweise in Bezug auf die von mir erwarteten Daten beschädigt. Sie könnten argumentieren, dass ich nach diesen Beschädigungen suchen sollte, aber da ich die Kontrolle über den gesamten Prozess habe, möchte ich in der Lage sein, zu stoppen, wenn eine Warnung ausgegeben wird.
Antworten:
Wenn Sie GDAL 1.10+ verwenden, können Sie mit den Python-Bindungen einen Python angeben, der als Fehlerbehandlungsroutine aufgerufen werden kann . Diese Fehlerbehandlungsroutinen scheinen jedoch in einem separaten Thread aufgerufen zu werden, und alle ausgelösten Ausnahmen werden nicht an den Hauptthread zurückgegeben . So etwas funktioniert also nicht:
Aber Sie können so etwas tun:
quelle