Skip To Content

SetSeverityLevel

Summary

Used to control how geoprocessing tools throw exceptions.

Discussion

If SetSeverityLevel is not used, the default behavior is equivalent to setting the severity_level to 2; that is, tools will only throw an exception when the tool has an error.

Syntax

SetSeverityLevel (severity_level)
ParameterExplanationData Type
severity_level

The severity level

  • 0A tool will not throw an exception, even if the tool produces an error or warning.
  • 1If a tool produces a warning or an error, it will throw an exception.
  • 2If a tool produces an error, it will throw an exception. This is the default.
Integer

Code sample

SetSeverityLevel example

Use SetSeverityLevel to force tool to throw an exception when a tool warning is encountered.

import arcpy

fc1 = 'c:/resources/resources.gdb/boundary'
fc2 = 'c:/resources/resources.gdb/boundary2'

# Set the severity level to 1 (tool warnings will throw an exception)
arcpy.SetSeverityLevel(1)
print("Severity is set to : {0}".format(arcpy.GetSeverityLevel()))

try:
    # FeatureCompare returns warning messages when a miscompare is
    #  found.  This normally would not cause an exception, however, by
    #  setting the severity level to 1, all tool warnings will also
    #  return an exception.
    arcpy.FeatureCompare_management(fc1, fc2, "OBJECTID")
except arcpy.ExecuteWarning:
    print(arcpy.GetMessages(1))
except arcpy.ExecuteError:
    print(arcpy.GetMessages(2))

Related topics