运行工具时,ArcPy 可标识调用它的应用程序。由此即可在 Python 中写入消息。这些消息将自动显示在工具对话框中、地理处理历史记录中以及 Python 窗口中。而且调用您工具的任何模型或脚本工具均有权访问您所写入的消息。
要了解有关消息的详细信息,请参阅了解脚本工具中的消息。
工具运行后,可以使用地理处理函数检索消息。 用于写入消息的四个 ArcPy 函数如下所示:
函数 | 描述 |
---|---|
信息性消息将添加到该工具的消息中。 | |
警告消息将添加到该工具的消息中。 | |
错误消息将添加到该工具的消息中。 | |
AddIDMessage(message_type, message_ID, add_argument1=None, add_argument2=None) | 可以使用地理处理消息代码添加任意类型的消息。 |
调用 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.GetCount_management(input)[0]) == 0:
arcpy.AddError("{0} has no features.".format(input))
raise arcpy.ExecuteError