スクリプト ツールでのメッセージの書き込み
ツールを実行するときに、ArcPy は呼び出し元のアプリケーション(ArcMap や ArcCatalog)を完全に認識しています。この結果、Python を使用してメッセージを書き込むと、メッセージが進捗ダイアログ ボックス、[結果] ウィンドウでのツールの結果、および [Python] ウィンドウに自動的に表示されます。したがって、ツールを呼び出したモデルまたはスクリプト ツールも、書き出されたメッセージにアクセスすることができます。
メッセージの詳細については、「スクリプト ツールのメッセージの概要」をご参照ください。
ツールの実行中に書き込まれるメッセージは、ジオプロセシング関数を使用して取得することができます。メッセージを書き込むための ArcPy 関数には、次の 4 つがあります。
- AddMessage(メッセージ) - 一般情報メッセージ用(重要度 = 0)
- AddWarning(メッセージ) - 警告用(重要度 = 1)
- AddError(メッセージ) - エラー用(重要度 = 2)
- AddIDMessage(message_type, message_ID, add_argument1, add_argument2) - エラーと警告用(message_type 引数で重要度を決定)
AddIDMessage() を呼び出すと、短いメッセージとメッセージ ID が表示されます。メッセージ ID は、問題の原因と解決策の説明へのリンクです。AddError() または AddIDMessage() を使用してエラー メッセージを追加する場合は、次のように処理されます。
- スクリプトは、実行し続けます。適切なエラー処理ロジックを追加したり、スクリプトの実行を停止したりするのは、作成者です。たとえば、中間ファイルやカーソルの削除が必要な場合があります。
- スクリプトが終了したら、呼び出したスクリプトまたはモデルはシステム エラーを受信し、実行が停止されます。
メッセージの追加の例
以下の例では、入力が評価され、入力フィーチャが含まれていない場合はツールにエラー メッセージが追加され、ツールを終了するために arcpy.ExecuteError 例外が発生します。
import arcpy
input = arcpy.GetParameterAsText(0)
output = arcpy.GetParameterAsText(0)
# If the input has no features, add an error message, and raise
# an arcpy.ExecuteError
if int(arcpy.GetCount_management(input).getOutput(0)) == 0:
arcpy.AddError("{0} has no features.".format(input))
raise arcpy.ExecuteError
関連トピック
9/14/2013