Emit end on error so watch can continue

Also, only cancel build if there is an actual error.
Warnings are emitted as errors for display but build continue.