Python Custom Exception

Posted in /  

Python Custom Exception

Vinay Khatri
Last updated on August 30, 2022

    In this tutorial, we will discuss Python custom exceptions and when to create one of them. There are many kinds of exceptions in Python. Most of them are built-in, and some come with third-party libraries.

    Here, the third-party exceptions mean when we install any module or package from the third party using pip install , and if that exception is related to the specific libraries, that exception is known as a third-party library exception.

    However, Python provides a feature by which we can make our own exceptions and can give any name to them. These exceptions are also known as user-defined exceptions.

    Python Custom Exception

    With the help of a class, we can create our own exceptions. The one thing to note here is that the class we create to make our own exception should be a child or subclass of Exception. At last, to create a custom exception, we need to inherit the in-built Exception class.

    Custom Exception Syntax:

    class custom_exception_name:
        pass
    raise  custom_exception_name (“Exception Message”)

    Example:

    class OurException(Exception):                  # inheriting Exception
        pass
    inp = int(input("Enter 2: "))
    if inp !=2:
        raise OurException("We ask you to enter 2")

    #Output

    Enter 2: 3
    Traceback (most recent call last):
    raise OurException("We ask you to enter 2")
    __main__.OurException: We ask you to enter 2

    Behind the code

    In the above code, first, we made a class OurException , which has an Exception as an argument. By writing the Exception as an argument, the class OurException inherits the property of the Exception class.

    When we work on a big project, we create our own exceptions, there this technique comes in very handy. Even when developers create libraries for Python, in their package, they create a separate Python file that contains all custom errors.

    Some more Custom or user-defined exception

    Let’s upgrade the code that we have written above, now, we will ask the user to enter a number, and the program executes again and again until the user enters 2 in the input box.

    Example:

    class Not_2_Error(Exception):
        pass
    while True:
        try:
            inp = int(input("Enter 2: "))
            if inp != 2:
                raise Not_2_Error("Please Enter 2")
            else:
                break     #It will break the while loop
        except Not_2_Error:
            print("You entered a wrong Number we asked for 2, you have entered:", inp)
    print("You have entered 2 now program terminate here")

    #Output

    Enter 2: 3
    You entered a wrong Number we asked for 2, you have entered: 3
    
    Enter 2: 4
    You entered a wrong Number we asked for 2, you have entered: 4
    
    Enter 2: 5
    You entered a wrong Number we asked for 2, you have entered: 5
    
    Enter 2: 2
    You have entered 2 now program terminate here

    Conclusion

    In Python, you can create your own exceptions by creating a new exception class. These custom exceptions are also referred to as user-defined exceptions. After reading this article, you will come to know how to create custom exceptions and when to create them. The examples mentioned above will provide you with a clear idea of Python custom exceptions.

    People are also reading:

    Leave a Comment on this Post

    0 Comments