How do you manage error handling in Gulp?

Gulp manages error handling through the use of plugins and event listeners. The ‘gulp-plumber’ plugin is commonly used to prevent pipe breaking caused by errors from gulp plugins. It replaces pipe method and removes standard onerror handler on ‘error’ event, outputting errors directly to console.

Another approach involves attaching an ‘error’ event listener to each stream in your pipeline. This allows you to handle errors at a granular level, providing more control over how they’re handled.

For example :
var gulp = require('gulp');
var sass = require('gulp-sass');
gulp.task('sass', function () {
  return gulp.src('./scss/*.scss')
    .pipe(sass().on('error', sass.logError))
    .pipe(gulp.dest('./css'));
});​

In this code snippet, we attach an ‘error’ event listener to the Sass compiler. If an error occurs during compilation, it’s logged to the console but doesn’t break the entire build process.