Python 3 - Fixing Exceptions

Python 3: From Scratch to Intermediate INTERMEDIATE LEVEL: Python 3 - Handling Errors and Exceptions in Python
8 minutes
Share the link to this page
Copied
  Completed
You need to have access to the item to view this lesson.
One-time Fee
$99.99
List Price:  $139.99
You save:  $40
€93.23
List Price:  €130.53
You save:  €37.29
£79.94
List Price:  £111.92
You save:  £31.98
CA$136.79
List Price:  CA$191.52
You save:  CA$54.72
A$153.20
List Price:  A$214.48
You save:  A$61.28
S$135.94
List Price:  S$190.32
You save:  S$54.38
HK$782.80
List Price:  HK$1,095.96
You save:  HK$313.15
CHF 91.30
List Price:  CHF 127.83
You save:  CHF 36.52
NOK kr1,094.90
List Price:  NOK kr1,532.91
You save:  NOK kr438
DKK kr695.39
List Price:  DKK kr973.58
You save:  DKK kr278.18
NZ$167.81
List Price:  NZ$234.95
You save:  NZ$67.13
د.إ367.25
List Price:  د.إ514.16
You save:  د.إ146.91
৳10,958.03
List Price:  ৳15,341.69
You save:  ৳4,383.65
₹8,331.80
List Price:  ₹11,664.86
You save:  ₹3,333.05
RM477.70
List Price:  RM668.80
You save:  RM191.10
₦126,689.32
List Price:  ₦177,370.12
You save:  ₦50,680.80
₨27,798.13
List Price:  ₨38,918.49
You save:  ₨11,120.36
฿3,702.20
List Price:  ฿5,183.23
You save:  ฿1,481.03
₺3,249.97
List Price:  ₺4,550.10
You save:  ₺1,300.12
B$514.66
List Price:  B$720.55
You save:  B$205.88
R1,901.16
List Price:  R2,661.70
You save:  R760.54
Лв182.41
List Price:  Лв255.39
You save:  Лв72.97
₩137,421.64
List Price:  ₩192,395.79
You save:  ₩54,974.15
₪379.55
List Price:  ₪531.39
You save:  ₪151.83
₱5,778.57
List Price:  ₱8,090.23
You save:  ₱2,311.66
¥15,552.99
List Price:  ¥21,774.81
You save:  ¥6,221.82
MX$1,705.36
List Price:  MX$2,387.58
You save:  MX$682.21
QR364.16
List Price:  QR509.84
You save:  QR145.68
P1,384.82
List Price:  P1,938.81
You save:  P553.98
KSh13,448.65
List Price:  KSh18,828.65
You save:  KSh5,380
E£4,789.16
List Price:  E£6,705.01
You save:  E£1,915.85
ብር5,677.33
List Price:  ብር7,948.49
You save:  ብር2,271.15
Kz83,741.62
List Price:  Kz117,241.62
You save:  Kz33,500
CLP$95,258.47
List Price:  CLP$133,365.67
You save:  CLP$38,107.20
CN¥724.52
List Price:  CN¥1,014.36
You save:  CN¥289.84
RD$5,872.31
List Price:  RD$8,221.47
You save:  RD$2,349.16
DA13,431.87
List Price:  DA18,805.15
You save:  DA5,373.28
FJ$229.18
List Price:  FJ$320.86
You save:  FJ$91.68
Q776.12
List Price:  Q1,086.60
You save:  Q310.48
GY$20,901.55
List Price:  GY$29,263
You save:  GY$8,361.45
ISK kr13,994.60
List Price:  ISK kr19,593
You save:  ISK kr5,598.40
DH1,013.23
List Price:  DH1,418.56
You save:  DH405.33
L1,780.93
List Price:  L2,493.37
You save:  L712.44
ден5,743.61
List Price:  ден8,041.28
You save:  ден2,297.67
MOP$805.67
List Price:  MOP$1,127.97
You save:  MOP$322.30
N$1,914.68
List Price:  N$2,680.63
You save:  N$765.95
C$3,675.06
List Price:  C$5,145.23
You save:  C$1,470.17
रु13,310.19
List Price:  रु18,634.81
You save:  रु5,324.61
S/370.43
List Price:  S/518.62
You save:  S/148.18
K379.55
List Price:  K531.39
You save:  K151.83
SAR375.02
List Price:  SAR525.04
You save:  SAR150.02
ZK2,608.51
List Price:  ZK3,652.02
You save:  ZK1,043.50
L463.96
List Price:  L649.56
You save:  L185.60
Kč2,349.11
List Price:  Kč3,288.85
You save:  Kč939.73
Ft36,594.60
List Price:  Ft51,233.91
You save:  Ft14,639.30
SEK kr1,086.27
List Price:  SEK kr1,520.82
You save:  SEK kr434.55
ARS$87,315.45
List Price:  ARS$122,245.13
You save:  ARS$34,929.67
Bs689.99
List Price:  Bs966.01
You save:  Bs276.02
COP$389,137.18
List Price:  COP$544,807.62
You save:  COP$155,670.43
₡50,081.85
List Price:  ₡70,116.60
You save:  ₡20,034.74
L2,464.83
List Price:  L3,450.86
You save:  L986.03
₲741,742.01
List Price:  ₲1,038,468.49
You save:  ₲296,726.47
$U3,834.62
List Price:  $U5,368.62
You save:  $U1,534
zł402.27
List Price:  zł563.20
You save:  zł160.92
Already have an account? Log In

Transcript

Welcome back. In this lecture, we are going to discuss some of the exceptions that you might encounter on a regular basis when running your Python code. Notice I said while running your Python code, so keep in mind that exceptions are generated at runtime as a result of incorrect operations inside your code. Let's use the script that I wrote and see some of these exceptions in action. There are many more types of exceptions that you might encounter in your Python programming career. However, we will focus only on seven of them in this video, just to see how to read the error messages that Python throws and how to identify the root cause of the exception.

So let me run the script and then we'll have a look at the code. So Python D exceptions dot P. Why? First of all, we have this from SIS Import ABC d f. This statement at the top of our script attempts to import the name this ABCD f right here from the start. module which is a valid built in Python module. Since ABCD is not a valid name inside the SIS module. When running our code, Python evaluates each line from top to bottom and finds this name to be invalid, and thus throwing an exception.

Let's read the text right here. So Python traces the cause of this exception in the file we just ran. In my case, that would be the exceptions dot p y on line one. Next, Python also prints out the line of code itself. So we have from SIS Import A, B, C, D, E, F, this is the line that caused the exception. On the next line.

In this error message, we have the type of exception that was raised. And that is an import error and the error message saying that Python cannot import name ABCD from sis unknown location, meaning that this name wasn't found within the module. So this is one of the many types of exceptions that Python can generate. Let's move further and comment out the This first line of code so that Python will ignore it and evaluate the next line in the file. After saving the file, let's run it once again, inside the windows command line. This time Python encountered yet another error and raised another type of exception.

So as we can see on line three, which is this import abcdef right here, Python throws the module not found error exception, saying that there's no module named ABC, d f. Pretty straightforward, I think. So we can comment this line as well and move on to discover other exceptions that our code might generate. Okay, I'm going to save the file. Now let's return to the windows command line. As you can see, inside the code, I have defined two variables var one and var two pointing to the values of 10 and zero respectively. On the next line, After defining these variables, we are dividing var one by one, then storing the result using the r1 variable.

And finally, we'll train To print out the value of this variable to the screen, let's run our code once again and see what happens. Okay, so we have yet another exception. This time, it's the zero division error exception, as you can see right here, because obviously, we tried to divide a number by zero, which is mathematically incorrect, and Python notices are mistake and acts accordingly. As you can notice, this exception is raised on line eight of the file, line eight right here where the division operation has been attempted. So on this line right here, the error message shows the line number, the line itself, and of course, the cost of the exception, division by zero. Again, pretty straightforward and intuitive.

Now, let's comment out line eight as well, the one performing the division operation and run our code once again to see yet another type of exception in Python. I'm going to save the file first. Now let's return to the CMD. And this time, we get the name error. exception as you can see on line nine, so this is the line right here. Why?

Because line nine attempts to print out the value of r1. However, we just commented out the line of code defining r1 above. And since Python ignores comments r1 doesn't exist anymore in our program. That's why Python doesn't know who r1 really is when it reaches line nine of the code and therefore throws a name error exception, saying that name r1 is not defined, as you can see right here, which is pretty self explanatory. Okay, moving forward. Let's also comment out line nine, and run the script once again.

This time, notice we got the Type error exception on line 11. So this line right here are two equals four one plus Hello, why that's because on this line, we are attempting to add an integer and the string var one and Hello, which is an illegal operation in Python. Notice that the error message is very clear about that. The cause of this exception, Let's read it together unsupported operand type four plus, int and str so integer and string, they cannot be added. The Type error exception is one of the most frequent types of exceptions that you may encounter in Python. And being able to read and interpret the error message is key to troubleshooting your code.

I want to show you two more types of Python exceptions and then we're going to wrap things up. First, let's comment out line 11. Okay, let's save the file. And now let's run it once again. Okay, here you can notice the occurrence of the index error exception, as you can see right here on line 14 inside our file, why because we previously defined the variable called text pointing to this string Python on line 13. Right here, this string contains six characters.

So the largest index inside this string is going to be five because we always start counting from zero right However, on Next line, we are trying to extract the character position at index 20 inside our string, which of course does not exist. Therefore Python raises the index error exception, saying that the string index is out of range. As you can see this message right here. Basically, this means that our string does not have an element position at index 20, because it lacks the necessary length to have such an index, which is pretty obvious, I think. Finally, let's comment out line 14 as well, and focus on the last part of our code, the while loop. So we have while true, which basically creates an infinite loop, so while true, print out the string hi to the screen.

Of course, this will result in this string being printed out indefinitely. As you may remember from earlier in the course, in order to break out of an infinite loop, we can use the ctrl plus C key combination. So let's run our code once again. And notice the infinite loop running and then later interrupt this loop. Okay, so immediately after hitting Ctrl C, the infinite loop is stopped, and Python throws the keyboard interrupt exception, as you can see, pointing to the print function at line 17. Great job.

So these were some examples of raising and troubleshooting exceptions in Python. Although you may encounter many other types of exceptions, the procedure for identifying and fixing the root cause is the same. Again, don't fear these exceptions. They are an incredible source of learning, especially when you're just starting your programming career. Finally, whenever you're in doubt about why you ended up with a particular exception, or how you should fix it, the first step every programming does is copying the exception message. So this would be this line of code right here.

Or for example, we if we have the zero division error, let's uncomment this line right here and see this exception once again. So we have zero division error division by zero. I'm going to copy this Then I'm going to paste it into Google's search engine, it is very likely you're going to end up on the stack overflow comm website, which is probably the best source of troubleshooting information for any programmer. click on the first link, check out the results and see if any of the replies make any sense to you and solve your issue. Try that with multiple search results and try putting everything together to find out more about the exception you are getting. Finally, if none of the replies and solutions on Google and Stack Overflow are answering your question, then please feel free to post a question in the q&a area of this course and I will do my best to help you having that said.

I hope you found this section useful and I'll see you in the next lecture.

Sign Up

Share

Share with friends, get 20% off
Invite your friends to LearnDesk learning marketplace. For each purchase they make, you get 20% off (upto $10) on your next purchase.