Handling the Success Case With else
In the previous lesson, you learned how to use a
except block to handle your exceptions, and in this lesson, you will learn about an additional keyword you can add to this
except block, which is the
Keep in mind that you can have multiple
except statements inside of a
except block. Currently, you only have one, and it’s already got a nice error printed out. And now if you run the
macos_interaction(), there’s no exception that happens and you only see these two statements.
But if you run the
linux_interaction() on a Mac system, you will see that the
WrongOsError gets raised, but then also handled—gets caught—by this
except statement and then this code in here happens. But so what happens if you add this
else statement here? You want to print out, say,
"No problem, work done." The code in this
else block is only going to execute if no error was raised, so if I run it with Linux, you’re going to see it’s not going to run at all, but if I switch back to macOS, then no exception, the
WrongOsError, or no other exception is going to get raised, and then the code inside of the
else block here is going to execute as well.
01:38 Now, what do you want to do in here? For example, you could go ahead and open up the logging file and read it, because all of the important macOS work got successfully done, so let’s look at what happened there. So I’m going to open up a logging file
I get a
FileNotFoundError. And of course, you get that because you don’t have this
file.log. There was no logging that you implemented, so Python can’t find this file that you’re trying to open, and this is an example of a built-in exception that Python raises for you.
This one is called
FileNotFoundError. You see it’s quite similar to the custom one that you built or some of the other exceptions you saw earlier, and this one specifically tells you that you attempted to do something with a file that Python couldn’t find. Now, in the next lesson, you’ll learn how you can handle a built-in exception and you’re also going to take a look at which ones exist.
But to sum up this part with the
else statement, essentially, you can add it to a
except block and you can write some code in there that’s only going to run if no exception was raised anywhere in the
except block. All right, and in the next lesson, you’ll handle this pesky
FileNotFoundError with another
except block inside of your
Become a Member to join the conversation.