Ejercicio00:00
¿Quieres un reto mayor?
Resuelve en 10:00
info
Importante: Para que se registre el resultado tienes que iniciar sesión.
Encadena excepciones con raise X from Y
Medio10 pts·Funciones
ruleRestricciones
- radio_button_uncheckedEncadena con raise ProcessingError from
Enunciado
Implementa la clase ProcessingError (hereda de Exception) y la función chain_exceptions(value).
chain_exceptions(value) debe:
- Intentar convertir
valuea entero conint(value). - Si falla, capturar la excepción original y re-lanzar un
ProcessingError("no se pudo procesar el valor")usandoraise ... from ...para preservar la causa. - Si la conversión es exitosa, retornar
{"result": valor_entero, "chained": False}. - La función debe capturar
ProcessingErroren un try exterior y retornar{"chained": True, "cause": type(e.__cause__).__name__}.
chain_exceptions("42") # {"result": 42, "chained": False}
chain_exceptions("abc") # {"chained": True, "cause": "ValueError"}
chain_exceptions(None) # {"chained": True, "cause": "TypeError"}
Restriccionesexpand_more
- Dificultad: Medio
- Completa todos los test cases para obtener los 10 puntos.
- No modificar la línea
exportal 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