• Home
  • Subscribe
  • Contribute Us
    • Share Your Interview Experience
  • Contact Us
  • About
    • About CSEstack
    • Campus Ambassador
  • Forum & Discus
  • Tools for Geek
  • LeaderBoard
CSEstack

What do you want to Learn Today?

  • Programming
    • Tutorial- C/C++
    • Tutorial- Django
    • Tutorial- Git
    • Tutorial- HTML & CSS
    • Tutorial- Java
    • Tutorial- MySQL
    • Tutorial- Python
    • Competitive Coding Challenges
  • CSE Subject
    • (CD) Compiler Design
    • (CN) Computer Network
    • (COA) Computer Organization & Architecture
    • (DBMS) Database Management System
    • (DS) Data Structure
    • (OS) Operating System
    • (ToA) Theory of Automata
    • (WT) Web Technology
  • Interview Questions
    • Interview Questions- Company Wise
    • Interview Questions- Coding Round
    • Interview Questions- Python
    • Interview Questions- REST API
    • Interview Questions- Web Scraping
    • Interview Questions- HR Round
    • Aptitude Preparation Guide
  • GATE 2022
  • Linux
  • Trend
    • Full Stack Development
    • Artificial Intelligence (AI)
    • BigData
    • Cloud Computing
    • Machine Learning (ML)
  • Write for Us
    • Submit Article
    • Submit Source Code or Program
    • Share Your Interview Experience
  • Tools
    • IDE
    • CV Builder
    • Other Tools …
  • Jobs

[4 Steps] Create User Defined Exception in Python with Example

Aniruddha Chaudhari/16428/0
CodePython

Want to create your own defined custom exception in Python?

At the end of this tutorial, you will be able to define your own exception in Python.

Before that, you should know the basic exception handling.

Example for simple exception handing in Python:

When you divide any number by zero, it raises the ‘division by zero’ exception.

Python Program for Exception Handling:

try:
  1/0

except Exception as err:
  # perform any action on Exception instance
  print("Error:", err)

Output:

Error: division by zero

Note: You can also use assert to raise the exception in Python.

If you understand this simple example, creating a user-defined exception is not much difficult.

Python interview questions and answers

Let’s begin with creating your own custom exception.

Create User Defined Exception in Python

Write steps involved in the creation of a user defined exception.

Step 1: Create User-Defined Exception Class

  • Write a new class (says YourException) for custom exception and inherit it from an in-build Exception class.
  • Define function __init__() to initialize the object of the new class. You can add as many instance variables as you want, to support your exception. For simplicity, we are creating one instance variable called message.

Great!

This is how it looks like.

class YourException(Exception):
  def __init__(self, message):
    self.message = message

You have created a simple user-defined exception class.

Step 2: Raising Exception

Now you can write a try-except block to catch the user-defined exception in Python.

For testing, inside the try block, we are raising an exception using a keyword “raise".

raise YourException("Something is fishy")

It creates the instance of the exception class YourException. You can pass any message to your exception class instance.

Step 3: Catching Exception

Now you have to catch the user-defined exception using except block.

except YourException as err:
  print(err.message)

We are catching a user-defined exception called YourException.

Step 4: Write a Program for User-Defined Exception in Python

Let’s club all these steps. Here is what the complete program looks like.

class YourException(Exception):
  def __init__(self, message):
    self.message = message

try:
  raise YourException("Something is fishy")

except YourException as err:
  # perform any action on YourException instance
  print("Message:", err.message)

Output:

Message: Something is fishy

Congrats you have defined your own exception in Python!

Python makes things very simple, isn’t it?

Here is one more thing you can try for handling a user-defined exception.

You can define multiple instance variables for the newly created exception class. With this, you can pass multiple values while raising exceptions.

In the below example, along with the error message we are also defining the level of difficulty for exceptions.

class YourException(Exception):
  def __init__(self, message, level):
    self.message = message
    self.level = level

try:
  raise YourException("Something is fishy", "Level 5")

except YourException as err:
  # perform any action on YourException instance
  print("Message:", err.message)
  print("Difficulty Level: ", err.level)

Output:

Message: Something is fishy
Difficulty Level: Level 5

This is the simple way of creating a user-defined exception in Python. If you have any question, let me know in the comment.

Python Interview Questions eBook

Python
Aniruddha Chaudhari
I am complete Python Nut, love Linux and vim as an editor. I hold a Master of Computer Science from NIT Trichy. I dabble in C/C++, Java too. I keep sharing my coding knowledge and my own experience on CSEstack.org portal.

Your name can also be listed here. Got a tip? Submit it here to become an CSEstack author.

Leave a Reply Cancel reply

Basic Python Tutorial

  1. Python- Tutorial Overview
  2. Python- Applications
  3. Python- Setup on Linux
  4. Python- Setup on Windows
  5. Python- Basic Syntax
  6. Python- Variable Declaration
  7. Python- Numeric Data Types
  8. Python- NoneType
  9. Python- if-else/elif
  10. Python- for/while else
  11. Python- User Input
  12. Python- Multiline User Input
  13. Python- String Formatting
  14. Python- Find Substring in String
  15. Python- Bitwise Operators
  16. Python- Range Function
  17. Python- List
  18. Python- List Vs Tuple
  19. Python- Compare Two Lists
  20. Python- Sorting List
  21. Python- Delete Element from List
  22. Python- Dictionary
  23. Python- ‘is’ vs ‘==’
  24. Python- Mutable vs Immutable
  25. Python- Generator & Yield
  26. Python- Fibonacci Generator
  27. Python- Assert Statement
  28. Python- Exception Handling 
  29. Python- RegEx
  30. Python- Lambda Function
  31. Python- Installing Modules
  32. Python- Important Modules
  33. Python- Find all Installed Modules
  34. PyCharm- IDE setup
  35. Python- File Handling
  36. Python- Monkey Patching
  37. Python- Decorators
  38. Python- Instance vs Static vs Class Method
  39. Python- Name Mangling
  40. Python- Working with GUI
  41. Python- Read Data from Web URL
  42. Python- Memory Management
  43. Python- Virtual Environment
  44. Python- Calling C Function

Python Exercise

  1. Python- Tricky Questions
  2. Python- Interview Questions (60+)
  3. Python- Project Ideas (45+)
  4. Python- MCQ Test Online
  5. Python- Coding Questions (50+)
  6. Python- Competitive Coding Questions (20+)

Python String

  1. Reverse the String
  2. Permutations of String
  3. Padding Zeros to String/Number

Python List

  1. Randomly Select Item from List
  2. Find Unique Elements from List
  3. Are all Elements in List Same?

Python Dictionary

  1. Set Default Value in Dictionary
  2. Remove all 0 from a dictionary

File Handling

  1. Python- Read CSV File into List
  2. Check if the File Exist in Python
  3. Find Longest Line from File

Compilation & Byte Code

  1. Multiple Py Versions on System
  2. Convert .py file .pyc file
  3. Disassemble Python Bytecode

Algorithms

  1. Sorting- Selection Sort
  2. Sorting- Quick Sort

Other Python Articles

  1. Clear Py Interpreter Console
  2. Can I build Mobile App in Python?
  3. Extract all the Emails from File
  4. Python Shell Scripting

© 2022 – CSEstack.org. All Rights Reserved.

  • Home
  • Subscribe
  • Contribute Us
    • Share Your Interview Experience
  • Contact Us
  • About
    • About CSEstack
    • Campus Ambassador
  • Forum & Discus
  • Tools for Geek
  • LeaderBoard