2010-11-24 18 views
11

まだレイクを学んでいます。レイクタスク:エラー処理

Rakeは、NANTのMSBuildのようなタスクのエラーを処理するためのサポートを内蔵しています。このタスクが失敗した場合、 anoterタスク(など、ロールバック)を実行

例:

は普通の例外を使用します。彼らは

答えて

11

は答えを見つけたあなたの助けOnError要素

<OnError ExecuteTargets="RollBackDatabase" /> 

感謝を持っているのMSBuildにハンドリングブロック

task :will_fail_task do 
    begin 
    raise "something's wrong here" 
    rescue 
    rollback() 
    raise "error executing task" 
    end 
end 
+0

これを行う方法はありますか? ically?他のタスクが失敗した場合に実行される失敗したタスクを持つことができます。 – dsample

+0

ちょうどアイデア、私はtry catchブロックでタスクを作成します。 tryブロックの中で私はすべての小さなタスクを実行/呼び出し/呼び出します。タスクを呼び出す前に再度有効にすることを忘れないでください(必要な場合) – kite