SetSeverityLevel

This ArcGIS 2.7 documentation has been archived and is no longer updated. Content and links may be outdated. See the latest documentation.

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