Writing Clean & Maintainable Code

Which code demonstrates better error handling practices in JavaScript?
// Option A:
function processData(data) {
  try {
    // Process data
  } catch (error) {
    console.log('Error:', error);
  }
}

// Option B:
function processData(data) {
  try {
    // Process data
  } catch (error) {
    if (error instanceof ValidationError) {
      handleValidationError(error);
    } else if (error instanceof NetworkError) {
      handleNetworkError(error);
    } else {
      logError(error);
      throw new ApplicationError('Data processing failed', { cause: error });
    }
  }
}
Next Question (9/20)