Excepción definido por el usuario en Python

Aquí, vamos a aprender cómo crear una excepción definida por el usuario en Python? Aquí, vamos a discutir sobre ZeroDivisionError, IndexError, ImportError, excepciones TypeError .

Python tiene una gran cantidad de excepciones incorporadas como ZeroDivisionError , IndexError , ImportError , TypeError , etc, pero cuando una función de la excepción no es suficiente para manejar nuestros requerimientos entonces creamos propia excepción personalizada . Python nos permite crear nuestra excepción de la excepción class base. Para entenderlo de una manera mejor, tomemos un ejemplo que plantea el error si vamos a tratar de encontrar la raíz cuadrada de un número negativo. Supongamos, tratamos de encontrar la raíz cuadrada de la -9 entonces vamos a obtener la salida en forma del número imaginario como todos sabemos, pero aquí vamos a escribir un programa Python que genera un error en lugar de mostrar el número imaginario y nos se encargará de que mediante el uso de la tratar, salvo declaración .

Antes de ir a escribir el programa en Python, vamos a la sintaxis de la prueba, salvo declaración ,

    try:
#statement or line of code
except typeofError:
#statement or line of code

Ahora, vamos a ver el programa en el que vamos a crear la excepción definida por el usuario para superar el problema de número imaginario y otra vez lo manejamos mediante el uso de la prueba, excepto comunicado.

Programa:

# creating child class from base class Exception
class Error(Exception):
pass # dummy function
class InvalidNumberError(Error):
def __init__(self,statement,s): # constructer
self.statement=statement
self.s=s
number=int(input('Enter a Number: '))
try:
if number<1: # condition checking
raise InvalidNumberError('You have entered a negative number.',number)
else:
print('The square root of the number:',(number)**0.5)
except InvalidNumberError as e: #user defined exception handling
print(e.statement)

salida

RUN 1:
Enter a Number: 5
The square root of the number: 2.23606797749979
RUN 2:
Enter a Number: -5
You have entered a negative number.


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *