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

inFeatureClass  = arcpy.GetParameterAsText(0)
outFeatureClass = arcpy.GetParameterAsText(1)

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

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

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

9/10/2013