2010-11-24 2 views
11

Ich lerne immer noch Rake.Rake Aufgabe: Fehlerbehandlung

Hat Rake Unterstützung eingebaut, um Fehler wie MSBuild von NANT zu behandeln: wenn diese Aufgabe fehlgeschlagen ist; Anoter Aufgaben (Rollback, etc.) ausführen

zB:

nur verwenden normale Ausnahme: in MSBuild sie OnError Element

<OnError ExecuteTargets="RollBackDatabase" /> 

Danke für Ihre Hilfe

Antwort

11

Fand heraus, die Antwort Handhabung Block

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

Gibt es eine Möglichkeit, dies ein bisschen generischer zu machen itisch? So können wir eine: fehlgeschlagene Aufgabe haben, die ausgeführt wird, wenn eine andere Aufgabe fehlschlägt. – dsample

+0

nur eine Idee, ich würde eine Aufgabe mit try catch-Block erstellen; Innerhalb des Versuchsblocks würde ich alle kleineren Aufgaben ausführen/aufrufen/aufrufen. Denken Sie daran, vor dem Aufrufen der Aufgabe erneut zu aktivieren (falls erforderlich) – kite