5_14_Excepciones_desafio_4

Run Settings
LanguagePython
Language Version
Run Command
import math # Definir una excepción personalizada class NegativeNumberError(Exception): """Excepción que se lanza cuando se ingresa un número negativo en una operación no permitida.""" def __init__(self, numero, mensaje="No se puede calcular la raíz cuadrada de un número negativo."): self.numero = numero self.mensaje = mensaje super().__init__(self.mensaje) def calcular_raiz_cuadrada(numero): """ Calcula la raíz cuadrada de un número. Lanza una excepción personalizada si el número es negativo. """ try: # Verificar si el número es negativo if numero < 0: # Lanza la excepción personalizada con un mensaje detallado raise NegativeNumberError(numero) # Calcular la raíz cuadrada resultado = math.sqrt(numero) print(f"La raíz cuadrada de {numero} es: {resultado}") return resultado except NegativeNumberError as ne: # Maneja la excepción personalizada e imprime un mensaje detallado print(f"Error: {ne}") except TypeError: # Captura el error si el tipo de dato no es numérico print("Error: El valor ingresado debe ser un número.") except Exception as e: # Captura cualquier otro error inesperado print(f"Ha ocurrido un error inesperado: {e}") # Ejemplo de uso try: entrada = float(input("Ingrese un número para calcular su raíz cuadrada: ")) # Solicita un número al usuario calcular_raiz_cuadrada(entrada) except ValueError: # Captura si el usuario ingresa algo que no se puede convertir a un número print("Error: Debe ingresar un número válido.")
Editor Settings
Theme
Key bindings
Full width
Lines