Obsługa błędów
W języku Python obsługę błędów realizuje się przy użyciu bloku kodu try...except. Można go używać w skryptach do przechwytywania wyjątków i obsługi problemów, które — gdyby nie zostały obsłużone — spowodowałyby przerwanie wykonania skryptu.
W poniższym przykładowym skrypcie podejmowana jest próba pobrania modelu z repozytorium IBM® SPSS Collaboration and Deployment Services Repository.
Ta operacja może spowodować wygenerowanie wyjątku, np. gdy dane uwierzytelniające repozytorium nie zostaną prawidłowo skonfigurowane lub ścieżka repozytorium będzie nieprawidłowa. W skrypcie może to spowodować wygenerowanie wyjątku ModelerException (wszystkie wyjątki generowane przez IBM SPSS Modelersą pochodną klasy modeler.api.ModelerException).
import modeler.api
session = modeler.script.session()
try:
repo = session.getRepository()
m = repo.retrieveModel("/some-non-existent-path", None, None, True)
# wydruki generowane są na karcie Debugowanie w panelu skryptów interfejsu
programu Modeler
print "Wszystko OK"
except modeler.api.ModelerException, e:
print "Wystąpił błąd:", e.getMessage()
Uwaga: Niektóre operacje skryptowe mogą powodować generowanie standardowych wyjątków środowiska Java; takie wyjątki nie są pochodną klasy
ModelerException.
Aby wychwytywać takie wyjątki, można zastosować dodatkowy blok except przechwytujący wszystkie wyjątki Java, na przykład:import modeler.api
session = modeler.script.session()
try:
repo = session.getRepository()
m = repo.retrieveModel("/some-non-existent-path", None, None, True)
# wydruki generowane są na karcie Debugowanie w panelu skryptów interfejsu
programu Modeler
print "Wszystko OK"
except modeler.api.ModelerException, e:
print "Wystąpił błąd:", e.getMessage()
except java.lang.Exception, e:
print "Wystąpił wyjątek Java:", e.getMessage()