Reto Excepciones

Código
Avanzado
JavaScript
Curso de JavaScript
20 min
200 XP
Actualizado: 14/05/2025

¡Programa y certifícate!

Asistente de IA
Solución de código
Certificado
Empezar ejercicio

Descripción

Implementación de un sistema de validación con manejo de excepciones personalizadas

Crear un validador de contraseñas que compruebe diferentes criterios y utilice excepciones personalizadas para informar los errores específicos.

Instrucciones

  1. Crea una clase base PasswordError que extienda de Error
  2. Crea tres clases de error específicas que extiendan de PasswordError:
    • LengthError: Para contraseñas demasiado cortas
    • MissingCharacterError: Para contraseñas que no contienen ciertos caracteres
    • CommonPasswordError: Para contraseñas demasiado comunes
  3. Implementa una función validatePassword(password) que:
    • Compruebe que la contraseña tiene al menos 8 caracteres (si no, lanza LengthError)
    • Compruebe que la contraseña contiene al menos un número (si no, lanza MissingCharacterError)
    • Compruebe que la contraseña no es una de las siguientes: "password", "12345678", "qwerty" (si es alguna de éstas, lanza CommonPasswordError)
  4. Implementa una función checkPassword(password) que llame a validatePassword dentro de un bloque try-catch y devuelva un mensaje apropiado.

Resultado esperado:

Guarda tu progreso

Inicia sesión para no perder tu progreso y accede a miles de tutoriales, ejercicios prácticos y nuestro asistente de IA.

Progreso guardado
Asistente IA
Ejercicios
Iniciar sesión gratis

Más de 25.000 desarrolladores ya confían en CertiDevs

// Pruebas
console.log(checkPassword("a1")); // Debería mostrar error de longitud
console.log(checkPassword("contraseña")); // Debería mostrar error de carácter faltante
console.log(checkPassword("password")); // Debería mostrar error de contraseña común
console.log(checkPassword("segura123")); // Debería mostrar que la contraseña es válida

Solución al ejercicio de programación en JavaScript

Contenido bloqueado

¡Desbloquea la solución completa!

Completa el ejercicio de programación en JavaScript para acceder a la solución paso a paso, explicaciones detalladas y mejores prácticas.

solution.js
JavaScript
1 function solveChallenge ( input ) {
2 // Algoritmo optimizado O(n log n)
3 const data = parseInput ( input );
4 const sorted = data . sort (( a , b ) => a - b );
5
6 // Aplicar técnica de dos punteros
7 let left = 0 , right = sorted . length - 1 ;
8 const result = [];
9
10 while ( left < right ) {
11 const sum = sorted [ left ] + sorted [ right ];
12 if ( sum === target ) {
13 result . push ([ sorted [ left ], sorted [ right ]]);
14 left ++; right --;
15 } else if ( sum < target ) {
16 left ++;
17 } else {
18 right --;
19 }
20 }
21
22 return result ;
23 }
Código completo
Explicaciones
Mejores prácticas
+1.200 developers han resuelto este ejercicio de programación

Practica con ejercicios de programación en JavaScript

Mejora tus habilidades con cientos de ejercicios de práctica, recibe retroalimentación instantánea y obtén tu certificación cuando estés listo.

Asistente de IA

Aprende de tus errores

Progreso

Mide tu avance

Certificación

Valida tus habilidades

Únete a miles de desarrolladores mejorando sus habilidades en JavaScript

⭐⭐⭐⭐⭐
4.9/5 valoración