AddIDMessage

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

Используйте сообщения системного ID с помощью инструмента-скрипта.

Обсуждение

Для инструментов-скриптов вы можете создавать свои собственные ошибки и предупреждения с помощью функций AddWarning и AddError. В качестве альтернативы вы также можете использовать любые стандартные сообщения об ошибках или предупреждениях с помощью функции AddIDMessage.

Однако, чтобы повторно использовать стандартную ошибку или предупреждение, вы должны сначала узнать шестизначный код. Это потребует некоторых исследований с вашей стороны; вам нужно будет выполнить поиск по описаниям в справке, чтобы найти правильный шестизначный код. После того, как вы определили соответствующий ID, обратите внимание на любую дополнительную информацию, которая должна быть включена в сообщение, обычно обозначается как <значение>.

Синтаксис

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

Specifies the message severity.

  • ERRORAdds an error message to the tool messages
  • INFORMATIVEAdds an informative message to the tool messages
  • WARNINGAdds a warning message to the tool messages
String
message_ID

The message ID allows you to reference existing messages for your scripting errors and warnings.

Integer
add_argument1

Depending on which message ID is used, an argument may be necessary to complete the message. Common examples include dataset or field names. Data type can be string, integer, or double.

Object
add_argument2

Depending on which message ID is used, an argument may be necessary to complete the message. Common examples include dataset or field names. Data type can be string, integer, or double.

Object

Пример кода

Пример AddIDMessage

Добавьте сообщение в инструмент-скрипт Python. Приведенный ниже пример Python проверяет, существует ли указанный входной класс пространственных объектов, и если нет, то использует функцию AddIDMessage, чтобы вернуть ID код 12 (000012: <значение> уже существует). Дополнительный аргумент используется для подстановки имени класса пространственных объектов в текст сообщения.

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))

Связанные разделы