Programming plays an essential role in conducting several tasks in the modern era. Whether in research or business areas, the application of programming can be seen everywhere. Python is one such programming language that has been applied widely in almost all people’s day-to-day lives. Of course, this depends on the programs that are being developed and executed. Be it in machine learning, web development, software development, or any educational programs, it is mostly python that programmers apply.
However, for any program that has been designed, there are chances that sometimes errors might be associated with it. These errors can be user-defined or some defaults within the program itself. A program written in the python programming language too can terminate whenever it detects any form of error in the code. The article will describe the exceptions that occur in python programming and how they are handled through the use of the try and except function. In python programming, two types of errors mainly occur, which are syntax errors and exceptions.
Table of Contents
Exceptions and Syntax Errors
One of the most common forms of python errors is syntax errors. These are also known as parsing errors. A little arrow is used to point the error by the parser.
The other form of error is the exceptions in python. There are cases where the syntax of the program remains the same, but certain errors pop up whenever the program is being executed. These errors that get detected on being executed are referred to as exceptions.
A few examples of exception errors are listed below:
This type of error occurs whenever the user input is interrupted through some unwanted pressing of keys in the keyboard. The key is mostly not required and mistakenly gets pressed by the user.
Sometimes, there are cases when you cannot open a file, and these exceptions are associated with such cases.
Whenever the python program cannot locate the module, such types of exceptions occur.
Without reading any data, if the file’s end is hit, such types of exceptions occur.
The exceptions are associated with the built-in functions. Whenever such functions receive any wrong argument, then these exceptions occur.
The occurrence of syntax errors lies in the detection of incorrect statements in the python program. Here is an example to show the generation of syntax errors:
>>> print( 0 / 0 ))
File “<stdin>”, line 1
print( 0 / 0 ))
SyntaxError: invalid syntax
It can be observed that there is an arrow in the above program, and it indicates the location where the parser detected the error. Also, there are two brackets in the code, which results in the wrong syntax. Therefore, there was a syntax error. You can remove the bracket and execute the code again.
Running the program after removing the bracket will now show an exception of “ZeroDivisionError.” This is because the syntax of the code is correct, but still, there is an error. This type of error that results from correct syntax code is referred to as the exceptions.
The program will result in a line “ZeroDivisionError: integer division or modulo by zero.” This is the last line of the program, and it shows what exceptions the program generates. You can notice that python doesn’t only mention exception errors; instead, it explains and shows the exception type.
Handling Exceptions through Try Except Clause
The concept of handling the exceptions in python is referred to as exception handling. Programs can be written that can handle some specific type of exceptions. An example of handling exception is shown in the image below:
The above code is taken from https://docs.python.org/3/tutorial/errors.html.
In the above program, the user is asked to enter a valid integer as an input. But, instead of a valid integer, there was an interruption at the user side. Whenever such type of user interruption is encountered, there is a type of exception raised by the python program, which is the exception of “KeyboardInterrupt.”
The python tries except blocks are used to catch and handle the exceptions occurring in a python program. The code that is present below the try statement is executed as a normal program. At the same time, the program that is present in the except statement is the main response of the program against any form of exceptions.
From the example discussed above in the section of “exception and syntax errors,” it could be observed that an error occurred when the wrong syntax was used in the code. However, if there is no handling of the appropriate exception, the program would have terminated. It is mainly the duty of the except clause to decide how the program should respond in case of exceptions.
The statements of try and except are used for handling errors in python. Whenever an error occurs within the code of python, these statements are used for handling those. There is a separate block of code for the try and the except functions. The code within the try block helps in checking the program for the existence of any errors. Therefore, whenever there is no error in the program, the code in the try block will get executed. The code inside the except block will get executed when some errors are detected in the previous block of code. There is a specific syntax for running the trial and the except block of statements in the python programming language.
Syntax of the Try Except Function in Python:
# Some Code
# Executed if an error in the
# try block
Working of the Try Statement
Let us first understand the working of the try block. Here are a few steps that will define the working of the block of code within the try block.
- The clause “try” is executed first. This means that the code that is between the try and the except clause gets executed first.
- Exceptions are checked. So, if no errors or exceptions are detected, there will be the execution of only the try clause. At the same time, the except clause will stop running.
- In cases when there is an exception, the program will skip the try clause. In such cases, there will be the running of the exception clause.
- There might be cases when there is an exception, but the exception clause is not able to handle that exception. In such cases, the exception is forwarded to the statements of try outside the block. If the exception is not handled even then, the program stops executing.
- A statement of try can have a lot of except clauses (more than one).
Suppose a python program encounters different exceptions, then to specify the different handlers, several except blocks are used in the python program. At a single time, only one handler will be executed. Even in a python program, multiple exceptions can be used as a parenthesis in the except clause.
Sometimes a class may be present within the except statement.
There is the use of a keyword in python, which is the word “finally.” The keyword is used or gets executed after the execution of the blocks of try and except. Thus, whenever there is a termination of the try clause due to some exception or some normal termination, there is an execution of the try block in such cases.
After detecting the exceptions, the exceptions are forced to occur through raising the exceptions. This is done by using the statement of “raise.” One of the important goals of the raise statement is that the exception should be raised.
A few important points to summarize the whole idea are:
- The execution of the try clause goes on until and unless it encounters the first exception.
- It is inside the block of except that the program decides how to respond against the exception.
- Multiple exceptions can be anticipated, and then the program differentiates how to respond against them.
- An exception can be thrown any time through the use of the “raise” statement.
- The statement “assert” enables the program to know if the certain condition is met and if the condition is not met, then throwing the required exception.
- The else clause allows the program to run the code when there are no exceptions in the clause of “try.”
- The statement “finally” executes code sections that are meant to be always run without encountering any previous exceptions.
The article briefly discussed the errors that could occur in a python program, and in the case of certain exceptional errors, the program throws an exception. These exceptions need to be handled properly for the smooth execution of the program. The try and except in python allows the handling of the exceptions in the program. The code under the statement of “try” is executed. If the code is not successfully executed, then the program will terminate at the line of code that generated the error, and then the code of “except” will run.
Get Software Engineering degrees from the World’s top Universities. Earn Executive PG Programs, Advanced Certificate Programs, or Masters Programs to fast-track your career.
The block of try allows the testing of a block of code for the presence of any errors. The except block allows the program to handle the exception if there is any.