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()