diff Sphinx/source/plugins/python/exception.py @ 747:56d48f6e52cc

catching exceptions in python plugins
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 09 Aug 2021 18:29:38 +0200
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Sphinx/source/plugins/python/exception.py	Mon Aug 09 18:29:38 2021 +0200
@@ -0,0 +1,17 @@
+import orthanc
+
+def OnChange(changeType, level, resource):
+    if changeType == orthanc.ChangeType.ORTHANC_STARTED:
+        try:
+            print(orthanc.RestApiGet('/nope'))
+        except ValueError as e:
+            # Raised in releases <= 3.2 of the plugin (doesn't occur in releases >= 3.3)
+            print(e)
+        except orthanc.OrthancException as e:
+            # Raised in releases >= 3.3 of the plugin (fails with releases <= 3.2)
+            print(e)
+            print(e.args[0])  # Error code of Orthanc (cf. "orthanc.ErrorCode" enumeration)
+            print(e.args[1])  # Description of the error
+            print(e.args[0] == orthanc.ErrorCode.UNKNOWN_RESOURCE)  # Returns "True"
+
+orthanc.RegisterOnChangeCallback(OnChange)