3

I have a script tool in ArcGIS 10.2 and I have altered the tool's validation code to show my custom error messages using setErrorMessage method. It works but when an error message is displayed it shows error code -1 (ERROR -1) together with the message text, and since it doesn't link to anything I don't want to show it at all.

Custom message looks like this:

enter image description here

I have been looking for this in the documentation but I can't find it. How can I hide it or prevent it to show?

Here's my validation code:

  def updateMessages(self):
    """Modify the messages created by internal validation for each tool
    parameter.  This method is called after internal validation."""

    if self.params[0].value:
      if not arcpy.Exists(self.params[0].value):
        self.params[0].setErrorMessage("Invalid geodatabase: path typed incorrectly or it does not exist.")
      else:
        desc1 = arcpy.Describe(self.params[0].value)
        if desc1.workspaceFactoryProgID != 'esriDataSourcesGDB.AccessWorkspaceFactory.1':
          self.params[0].setErrorMessage("This workspace is not a personal geodatabase")

    if self.params[1].value:
      if not arcpy.Exists(self.params[1].value):
        self.params[1].setErrorMessage("Invalid database connection: path typed incorrectly or it does not exist.")
      else:
        desc2 = arcpy.Describe(self.params[1].value)
        if desc2.workspaceFactoryProgID != 'esriDataSourcesGDB.SdeWorkspaceFactory.1':
          self.params[1].setErrorMessage("This workspace is not an SDE database connection.")

    return

closed as unclear what you're asking by PolyGeo May 8 '18 at 8:58

Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 1
    In your parameters, have you set MDB to be a personal geodatabase? It's possible that the database you chose is a File Geodatabase. – Fezter Dec 17 '14 at 11:41
  • 1
    Yes. I know some users will write text in the MDB text box instead of browsing a personal Geodatabase. That's why I have customized my tool's validation code. So I do want this message to show, but not the 'ERROR -1' part, which is the same we see in ArcGIS system tools but with a 6 digit number like this – DMS02 Dec 17 '14 at 11:52
  • 1
    could you please add your code concerning your error ? Maybe a workaround is to use a warning message instead of an error message (error message have ID codes) – radouxju Dec 17 '14 at 13:01
  • 1
    Yeah, buta warning message lets me run the tool despite parameters are not valid. :/ (Edited my question to add my validation code) – DMS02 Dec 17 '14 at 14:53