# File lib/guard/runner.rb, line 97 def run_supervised_task(guard, task, *args) begin catch Runner.stopping_symbol_for(guard) do guard.hook("#{ task }_begin", *args) result = guard.send(task, *args) guard.hook("#{ task }_end", result) result end rescue Exception => ex ::Guard::UI.error("#{ guard.class.name } failed to achieve its <#{ task.to_s }>, exception was:" + "\n#{ ex.class }: #{ ex.message }\n#{ ex.backtrace.join("\n") }") ::Guard.guards.delete guard ::Guard::UI.info("\n#{ guard.class.name } has just been fired") ex end end