Python Jumpstart by Building 10 Apps Transcripts
Chapter: App 10: Movie Search App
Lecture: Introduction to the movie search app
Login or
purchase this course
to watch this video and the rest of the course contents.
0:00
Application number 10, let's build a movie search app.
0:03
Now it turns out we are going to put this movie search app
0:06
into a particularly unreliable environment,
0:10
so we are going to have to do a lot of work
0:12
to make sure our movie search app is durable
0:15
and it doesn't crash or behave too weirdly.
0:18
Let's see how that's going to go.
0:20
We are going to build an app that looks like this, standard header.
0:22
We are going to enter some text and this text is going to be the title of a movie.
0:27
So, here we might say Top Gun,
0:30
and we'll try to go out to the internet and find information
0:33
about movies with Top Gun in their title,
0:35
but you can see in this case it said oh sorry,
0:37
the network happens to be down so no searching right now.
0:41
But our app doesn't crash or give weird errors it just says hey, the network is down,
0:45
check your wi-fi or something like this.
0:47
Then later we try again, search for Top Gun and boom,
0:49
we get real live movie search results off the internet.
0:53
So it might sound like this is about searching movies,
0:56
but really what we are going to focus on is error handling,
0:59
writing durable reliable applications.
1:02
So we are going to focus on error handling,
1:05
the primary way to do this in Python is with exceptions, and try/except blocks,
1:10
you'll see that we can have
1:12
multiple sort of error handling clauses in any particular situations,
1:17
so there might be a host of reasons that our movie app doesn't work,
1:21
maybe the DNS server is down, maybe we entered a bad title,
1:26
maybe the wi-fi is down, maybe the other server actually gave a 500,
1:30
maybe malformed data came back,
1:32
so we can actually catch different errors and give different messages back.
1:37
We might want to tell the users something different
1:39
if the data that came back was malformed,
1:42
rather than if the network was not connected.
1:45
Right, so we'll use multiple what are called except blocks to do this
1:48
and that will allow us to differentiate errors based on the type of the error,
1:52
and ultimately, we are going to talk about writing reliable code
1:56
and you also see how to raise errors and exceptions
1:59
not just catch them because we are going to throw some
2:02
to sort of make our app particularly unreliable.