Skip to main content

SetSeverityLevel

汇总

用于控制地理处理工具在脚本中提出异常的方式。

要管理地理处理工具如何为代码块提出异常,请使用 SeverityLevel 类。

讨论

如果未使用 SetSeverityLevel 函数,则默认行为相当于将 severity_level 参数设置为 2;即,仅当工具出现错误时,工具才会提出异常。

语法

SetSeverityLevel(severity_level)

参数 说明 数据类型

severity_level

Specifies the severity level.

  • 0—即使工具生成错误或警告,也不会提出异常。

  • 1—如果工具生成警告或错误,则工具将提出异常。

  • 2—如果工具产生错误,则工具将提出异常。 这是默认设置。

Integer

代码示例

SetSeverityLevel 示例

使用 SetSeverityLevel 函数可以在遇到工具警告时提出异常。

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.management.FeatureCompare(fc1, fc2, "OBJECTID")
except arcpy.ExecuteWarning:
    print(arcpy.GetMessages(1))
except arcpy.ExecuteError:
    print(arcpy.GetMessages(2))