Catching all exceptions is sometimes used as a crutch by programmers who can’t remember all of the possible exceptions that might occur in complicated operations. As such, it is also a very good way to write undebuggable code.
Because of this, if one catches all exceptions, it is absolutely critical to log or reports the actual reason for the exception somewhere (e.g., log file, error message printed to screen, etc.).
Problem – Code that catches all the exceptions
This will catch all exceptions save
Code #2 : Considering the example.
Code #3 : Using the above function
Couldn't parse Couldn't parse
At this point, the question arises how it doesn’t work. Now if the function had been written as:
Code #4 :
In this case, the following output will be received, which indicates that a programming mistake has been made.
Couldn't parse Reason: global name 'v' is not defined
Problem – To wrap lower-level exceptions with custom ones that have more meaning in the context of the application (one is working on).
To create new exceptions just define them as classes that inherit from Exception (or one of the other existing exception types if it makes more sense).
Code #5 : Defining some custom exceptions
Code #6 : Using these exceptions in the normal way.
- Custom exception classes should almost always inherit from the built-in Exception class, or inherit from some locally defined base exception that itself inherits from Exception.
- BaseException is reserved for system-exiting exceptions, such as KeyboardInterrupt or SystemExit, and other exceptions that should signal the application to exit. Therefore, catching these exceptions is not the intended use case.
Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.
To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.
- Python | Catching the ball game
- Errors and Exceptions in Python
- User-defined Exceptions in Python with Examples
- Exceptions - Selenium Python
- Built-in Exceptions in Python
- Creating and updating PowerPoint Presentations in Python using python - pptx
- Creating Python Virtual Environment in Windows and Linux
- Creating a Proxy Webserver in Python | Set 1
- Creating a Proxy Webserver in Python | Set 2
- Creating a sorted merged list of two unsorted lists in Python
- Python | Creating a 3D List
- Creating child process using fork() in Python
- Creating linear kernel SVM in Python
- Python | Creating tensors using different functions in Tensorflow
- Python | Creating a button in tkinter
- Python | Creating a Pandas dataframe column based on a given condition
- Python | Creating DataFrame from dict of narray/lists
- Python | Creating Multidimensional dictionary
- Python | Creating a Simple Drawing App in kivy
- Creating Tabbed Widget With Python-Tkinter
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.