ツールを実行するときに、ArcPy は呼び出し元のアプリケーションを完全に認識しています。この結果、Python を使用してメッセージを書き込むことができるようになり、メッセージが [ジオプロセシング履歴] および [Python] ウィンドウのツール ダイアログ ボックスに自動的に表示されます。したがって、ツールを呼び出したモデルまたはスクリプト ツールも、書き出されたメッセージにアクセスすることができます。
メッセージの詳細については、「スクリプト ツールのメッセージについて」をご参照ください。
Python ツールボックスでは、messages オブジェクトは、ツールに追加メッセージを返すために使用されます。
メッセージ メソッド | 説明 |
---|---|
addMessage(message) | ツールのメッセージに情報メッセージを追加します。 |
addErrorMessage(message) | ツールのメッセージにエラー メッセージを追加します。 |
addWarningMessage(message) | ツールのメッセージに警告メッセージを追加します。 |
addIDMessage(message_type, message_ID, add_argument1=None, add_argument2=None) | ジオプロセシング メッセージ コードを使用して、任意のタイプのメッセージを追加します。 |
addGPMessages() | ツールのメッセージに、最後に実行したジオプロセシング ツールのメッセージを追加します。 |
メッセージの追加の例
次の例では、入力が評価され、入力フィーチャが含まれていない場合はツールにエラー メッセージが追加され、ツールを終了するために arcpy.ExecuteError 例外が生成されます。
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