ArcGIS for Desktop

  • Documentation
  • Pricing
  • Support

  • My Profile
  • Help
  • Sign Out
ArcGIS for Desktop

ArcGIS Online

The mapping platform for your organization

ArcGIS for Desktop

A complete professional GIS

ArcGIS for Server

GIS in your enterprise

ArcGIS for Developers

Tools to build location-aware apps

ArcGIS Solutions

Free template maps and apps for your industry

ArcGIS Marketplace

Get apps and data for your organization

  • Documentation
  • Pricing
  • Support
Esri
  • Sign In
user
  • My Profile
  • Sign Out

Help

  • Home
  • Get Started
  • Map
  • Analyze
  • Manage Data
  • Tools
  • More...

Writing messages in a Python toolbox

  • Example of adding messages

When a tool is run, ArcPy is fully aware of the application it is called from. One major effect of this is that you can write messages in Python and your messages automatically appear on the tool dialog box, in Geoprocessing history, and the Python window. It also means that any model or script tool that calls your tool has access to the messages you write.

To learn more about messaging, see Understanding messaging in script tools.

In a Python toolbox, a messages object is used for adding additional messages back to the tool.

Message methodsDescription

addMessage(message)

Adds an informative message to the tool's messages

addErrorMessage(message)

Adds an error message to the tool's messages

Note:

addErrorMessage will not throw an exception.

addWarningMessage(message)

Adds a warning message to the tool's messages

addIDMessage(message_type, message_ID, add_argument1=None, add_argument2=None)

Adds a message of any type using geoprocessing message codes

addGPMessages()

Adds messages from the last geoprocessing tool run to the tool's messages

Example of adding messages

In the example below, the input is evaluated, and if it contains no input features, an error message is added to the tool and an arcpy.ExecuteError exception is raised to end the tool.

def execute(self, parameters, messages):
    input = parameters[0].valueAsText
    output = parameters[1].valueAsText
        
    # If the input has no features, add an error message, and raise
    #  an arcpy.ExecuteError
    if int(arcpy.GetCount_management(input)[0]) == 0:
        messages.addErrorMessage("{0} has no features.".format(input))
        raise arcpy.ExecuteError
            
    return
Note:

Messages can also be added using ArcPy functions such as AddMessage. See Understanding message types and severity for more information.

Related Topics

  • Accessing parameters within a Python toolbox
  • What is a Python toolbox?
  • Understanding messages in script tools
Feedback on this topic?

ArcGIS for Desktop

  • Home
  • Documentation
  • Pricing
  • Support

ArcGIS Platform

  • ArcGIS Online
  • ArcGIS for Desktop
  • ArcGIS for Server
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

About Esri

  • About Us
  • Careers
  • Insiders Blog
  • User Conference
  • Developer Summit
Esri
© Copyright 2016 Environmental Systems Research Institute, Inc. | Privacy | Legal