forked from psake/psake
-
Notifications
You must be signed in to change notification settings - Fork 0
How can I ensure my build script keeps running even if one of my tasks throws an exception?
dlidstrom edited this page Feb 16, 2011
·
5 revisions
The Task function has a switch parameter called “ContinueOnError” that you can set if you want the build to continue running if that particular task throws an exception.
Here’s an example script that uses the “ContinueOnError” switch:
Task default -Depends TaskA Task TaskA -Depends TaskB { "Task - A" } Task TaskB -Depends TaskC -ContinueOnError { "Task - B" throw "I failed on purpose!" } Task TaskC { "Task - C" }
When you run the above build script, you should get this output:
Executing task: TaskC Task - C Executing task: TaskB Task - B ---------------------------------------------------------------------- Error in Task [TaskB] I failed on purpose! ---------------------------------------------------------------------- Executing task: TaskA Task - A Build Succeeded! ---------------------------------------------------------------------- Build Time Report ---------------------------------------------------------------------- Name Duration ---- -------- TaskC 00:00:00.0053110 TaskB 00:00:00.0256725 TaskA 00:00:00.0350228 Total: 00:00:00.1032888
when psake processes a task that throws an exception (TaskB in this example) and the “ContinueOnError” is set, then psake displays a message to the console indicating that the task had an error and continues processing the rest of the build script.
Note: The dependent tasks of the task that threw the exception still execute
Next – Can I run a nested build?