В ваш
.pipe(jade({...}))
в последовательность добавляете
.on('error', gutil.log) .on('error', gutil.beep))
, предварительно подключив
gulp-util. Компилироваться до конца, конечно, файл не будет, но и обрываться процесс watch тоже не будет. Просто будет логироваться код ошибки, а также данное событие будет сопровождаться звуковым уведомлением. Как только Вы исправите ошибку синтаксиса компилируемого джейда, он скомпилируется до конца.
Примерно так:
gulp.task('jade', function () {
gulp.src('./src/jade/*.jade')
.pipe(jade() .on('error', gutil.log) .on('error', gutil.beep))
.pipe(gulp.dest('./public/html/'))
});