AddIDMessage (arcpy)

Краткая информация

Позволяет использовать системные сообщения с инструментом-скриптом. Перечень используемых сообщений и идентификаторов имеется в разделе Ошибки и предупреждения инструментов геообработки (Understanding geoprocessing tool errors and warnings).

Обсуждение

Ошибки и предупреждения возвращаются инструментами геообработки в виде шестизначного кода и текстового сообщения. Для каждого сообщения об ошибке и предупреждения существует страница описания в Справочной системе. На этой странице содержится подробное описание ошибки и возможный способ исправления. В диалоговых окнах инструментов, окне Python и окне Результаты код ID представляет собой ссылку, если щёлкнуть на которую, вы попадаете на страницу описания.

Синтаксис

AddIDMessage (message_type, message_ID, {add_argument1}, {add_argument2})
ПараметрОбъяснениеТип данных
message_type

Сообщения бывают следующих типов – сообщения об ошибке, предупреждающие сообщения и информационные сообщения. Существуют следующие типы сообщений:

  • ОШИБКАДобавляет сообщение об ошибке к сообщениям инструмента.
  • информационноеДобавляет информационное сообщение к сообщениям инструмента.
  • WARNINGДобавляет предупреждающее сообщение к сообщениям инструмента.
String
message_ID

Идентификатор (ID) сообщения позволяет вам ссылаться на имеющиеся сообщения в случае ошибок сценария или предупреждений.

Integer
add_argument1

В зависимости от используемого ID сообщения, для завершения этого сообщения может потребоваться аргумент. В основном это набор данных или имя поля. Тип данных может быть строкой, целым числом или числом двойной точности.

Object
add_argument2

В зависимости от используемого ID сообщения, для завершения этого сообщения может потребоваться аргумент. В основном это набор данных или имя поля. Тип данных может быть строкой, целым числом или числом двойной точности.

Object

Пример кода

Пример AddIDMessage

Добавьте сообщение в инструмент-скрипт Python.

class overwriteError(Exception):
    pass

import arcpy

in_feature_class = arcpy.GetParameterAsText(0)
out_feature_class = arcpy.GetParameterAsText(1)

try:
    # If the output feature class already exists, raise an error
    if arcpy.Exists(in_feature_class):
        # Raise a custom exception
        raise overwriteError(out_feature_class)
    else:
        arcpy.CopyFeatures_management(in_feature_class, out_feature_class)

except overwriteError as err:
    # Use message ID 12, and provide the output feature class
    #    to complete the message.
    arcpy.AddIDMessage("Error", 12, str(err))

Связанные темы

5/10/2014