2010-11-24 27 views
11

Todavía estoy aprendiendo Rake.Tarea de Rake: manejo de errores

¿Rake tiene un soporte incorporado para manejar el error de la tarea como MSBuild de NANT: si esta tarea falló; anoter ejecutar tareas (van hacia atrás, etc.)

por ejemplo: en MSBuild tienen OnError elemento

<OnError ExecuteTargets="RollBackDatabase" /> 

Gracias por su ayuda

Respuesta

11

encontrado la respuesta:

sólo tiene que utilizar excepción normales bloque de manipulación

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

¿Hay alguna manera de hacer esto un poco más gene icamente? Entonces podemos tener una tarea: fallida que se ejecuta si falla alguna otra tarea. – dsample

+0

solo una idea, crearía una tarea con try catch block; dentro del bloque try ejecutaba/llamaba/invocaba todas las tareas más pequeñas. Solo recuerda volver a habilitar antes de invocar la tarea (si es necesario) – kite