脚本工具消息
当工具运行时,ArcPy 会识别调用它的应用程序。 因此,您可以在 Python 中写入消息。 这些消息会自动出现在工具对话框、地理处理历史记录和 Python 窗口中。 这还表示调用工具的任何模型或脚本工具均有权访问您所写入的消息。
要了解有关消息传递的详细信息,请参阅了解脚本工具中的消息传递。
工具运行后,可以使用地理处理函数检索消息。 用于写入消息的四个 ArcPy 函数如下所示:
|
函数 |
描述 |
|---|---|
|
工具消息中会添加一条信息性消息。 |
|
|
工具消息中会添加一条警告信息。 |
|
|
工具消息中会添加一条错误消息。 |
|
|
|
地理处理消息代码可用来添加一条任意类型的消息。 |
调用 AddIDMessage 会显示一条简短消息和该消息的 ID,这是指向有关问题的原因和解决方案的说明的链接。 使用 AddError 或 AddIDMessage 添加错误消息时,将会出现下面的情况:
脚本继续运行。 您负责在脚本中添加合适的错误处理逻辑和停止逻辑。 例如,您可能需要删除中间文件或光标。
根据脚本的返回结果,调用脚本或模型将收到系统错误并且工具将停止运行。
添加消息示例
在以下示例中,系统会评估输入内容,如果不包含输入要素,则会向工具添加错误消息,并会引发 arcpy.ExecuteError 异常以结束工具运行。
import arcpy
input = arcpy.GetParameterAsText(0)
output = arcpy.GetParameterAsText(0)
# If the input has no features, add an error message, and raise
# an arcpy.ExecuteError
if int(arcpy.management.GetCount(input)[0]) == 0:
arcpy.AddError("{0} has no features.".format(input))
raise arcpy.ExecuteError