|Captura excepciones de terceros y re-lanza como propiasDifícil
Ejercicio00:00

¿Quieres un reto mayor?

Resuelve en 15:00

info

Importante: Para que se registre el resultado tienes que iniciar sesión.

Captura excepciones de terceros y re-lanza como propias

Difícil10 pts·Funciones
ruleRestricciones
  • radio_button_unchecked
    Re-lanza con raise AppError from

Enunciado

Implementa la clase AppError (hereda de Exception) y la función wrap_json_parse(text).

wrap_json_parse(text) debe:

  1. Intentar parsear text con json.loads(text).
  2. Si el JSON es válido, retornar el valor parseado.
  3. Si lanza json.JSONDecodeError, capturarlo y re-lanzar como AppError("json inválido") usando raise ... from ... para preservar la causa.
  4. La función exterior debe capturar AppError y retornar {"error": "AppError"} en ese caso.
wrap_json_parse('{"a": 1}')    # {"a": 1}
wrap_json_parse('[1, 2, 3]')   # [1, 2, 3]
wrap_json_parse('no es json')  # {"error": "AppError"}
wrap_json_parse('{mal}')       # {"error": "AppError"}
Restriccionesexpand_more
  • Dificultad: Difícil
  • Completa todos los test cases para obtener los 10 puntos.
  • No modificar la línea export al final del archivo.
  • Se recomienda evitar el uso de inteligencia artificial para que realmente tú practiques los ejercicios.

Puedes usar print() para depurar. Los resultados aparecen en la Consola de salida, no en el navegador.

Inicia sesión para reaccionar
Inicia sesión para reaccionar
Captura excepciones de terceros y re-lanza como propias — Difícil | Coding Challenges · Coding Challenges