Heads up! To view this whole video, sign in with your Courses account or enroll in your free 7-day trial. Sign In Enroll
Preview
Start a free Courses trial
to watch this video
You aren't perfect. Nobody is. Let's take a look at how to deal with errors when they happen...and they will!
I've got some bad news for you.
0:00
You aren't perfect.
0:02
Nobody is.
0:04
You're bound to make
a mistake when you're coding.
0:05
And even though we just agreed that
making errors is a good thing.
0:07
It can still feel a little overwhelming.
0:10
Part of the reason for this is that you
don't yet know the rules of the language.
0:12
These rules are called syntax and
0:16
I can pretty much guarantee you're
going to make a syntax error.
0:19
In fact it'd be super weird if you didn't.
0:23
So let's do this.
0:25
Let's force some errors and
then walk through the fixes together.
0:26
This error fixing skill will help
assist you as you pick up the syntax of
0:29
the language.
0:33
Okay, so let's launch your workspace.
0:35
So, remember when I
said that case matters?
0:39
So this function name here,
print, let's capitalize that p.
0:42
Now one nice thing that just happened,
did you notice how the color changed?
0:50
So see there's regular p, it's red.
0:53
Here's capital P, blue.
0:55
Our editor knows about the print function.
0:58
Note, when I change the file there
is a little orange dot up here.
1:00
Do you see that?
1:05
That's letting me know that the file
has been edited, but not yet saved.
1:06
So, what I'm gonna do,
is I'm going to save this file.
1:11
You come in here and you choose Save and
you can see that I'm on a Mac so
1:14
this is the sign for Cmd+S.
1:17
So I believe on a Windows it's Ctrl+S.
1:20
So you can go ahead and click Save and
now you see the dot is gone.
1:22
I wanna make you aware of
this totally common problem.
1:26
So you write amazing code and
you forget to save it and
1:30
then by pure instinct you just smack your
face on the keyboard trying to figure out
1:33
why your script isn't working the way
that it says it's supposed to be working.
1:37
And it's all because you forgot to save.
1:40
And sometimes you even luck out and
your nose hits the command key and
1:42
your brow hits the S and
you fix your problem, but that's rare.
1:45
So mind the dot.
1:48
So since case matters we know that
lowercase print is different than this
1:50
capital P print.
1:54
But let's keep this here.
1:55
Let's see what happens when we run it.
1:57
So again, we're gonna come down here and
we're gonna say Python.
1:59
We're gonna call hello.py.
2:02
Yikes, what's that?
2:06
That's right.
2:08
We've made this happen on purpose.
2:08
So, this is what is known
as a trace back and
2:10
it helps you follow or trace the path
in the code that caused the problem.
2:13
Kinda makes you feel like a detective,
right?
2:18
Trace down that perpetrator.
2:20
Now we only have a one line script, so
it's pretty clear where the area is.
2:23
But this can get pretty big pretty quick.
2:28
So what this is saying is that
the file hello.py on line one and
2:30
if you look up here at this
line numbers in the gutter.
2:35
So if you come here, you can see that
I can add new line numbers there and
2:39
they go up, so
that will help you find those.
2:43
I'm gonna get rid of those.
2:45
So, we've got an error in line one, and
2:46
if you come down to the very
bottom you'll see the error.
2:49
And we have a name error.
2:52
And here it says the name Print with
the capital P you notice, is not defined.
2:54
So, name here is the name
of the function print.
3:01
We'll learn here in a bit
how to define our own names.
3:06
Basically the interpreter here is saying,
what you talking about?
3:10
There isn't anything defined
as a capital P print.
3:13
Remember, case matters.
3:17
Capital P print and
lower case print are different.
3:18
Different key strokes for different folks.
3:21
So let's fix this, let's go ahead, come up
here, change this back to lower case p.
3:24
There we go, back to red.
3:29
All right, so this print function here is
called, I briefly explained earlier that
3:31
you call a function by providing an open
parentheses and a closing parentheses.
3:38
Now note here, if I put my cursor
at the opening parentheses or
3:44
the closing parentheses,
it will highlight.
3:48
It will show me how they're balanced.
3:50
And it is important that they're balanced,
it's part of the syntax of the language.
3:52
The syntax states that for
a function that an opening parentheses and
3:56
everything in between it and
the closing parenthesis are arguments.
4:01
So, what happens if we forget
the trailing parenthesis?
4:06
Let's go ahead and get rid of that.
4:11
This is invalid syntax, right?
4:14
Where would the function
call actually end now?
4:16
It doesn't, right?
4:18
So I'm gonna go ahead,
I'm gonna save this.
4:20
See the red dot, now the red dot's gone.
4:22
So I'm gonna come down
back to my terminal.
4:25
And the terminal actually has history
as well and I can use the up arrow,
4:28
and we'll run Python hello.py.
4:31
File hello.py line 2, what,
there's only one line.
4:33
So we have here a syntax error,
4:39
unexpected EOF while parsing.
4:42
Now parsing is the way that
the interpreter breaks down what you wrote
4:47
into something that it understands.
4:49
It had a problem understanding us
because we didn't follow the rules of
4:51
the language.
4:56
Now, if you don't know what EOF means and
you probably don't, what would you do?
4:57
Well, what do you do these days when
you don't know what a term means.
5:03
What do you do?
5:08
Yeah, that's right.
5:09
You just ask Google or you ask Alexa,
or whoever your preferred oracle is.
5:10
Let's go over there,
I'm gonna use Google for right now.
5:15
Hi Maya.
5:17
So, I'll say what does EOF stand for?
5:18
In computing, end-of-file, commonly
abbreviated EOF, is a condition and
5:24
a computer operating system where no more
data can be read from the data source,
5:27
end-of-file.
5:31
Well, that makes sense,
5:32
it reached the end of the file
without finding the closing paren.
5:33
I want to reiterate here that you
are never alone in your errors.
5:38
Millions of people are coding and
making mistakes.
5:41
You'll find answers to their questions
if you just search for them.
5:44
The internet is pretty amazing, isn't it?
5:47
Now, for course specific things,
5:49
remember that there's a wonderful
community here to ask.
5:51
And you can also search the archives
on questions and answers.
5:54
So let me point out one more common
gotcha before we get cooking.
5:57
This is one that happens all the time.
6:02
So, in Python you can make a string just
like we did here with double quotes,
6:05
or you could also use,
I'm gonna put this paren back,
6:11
you could also use single quotes.
6:15
So this is also valid, single quotes.
6:18
It really is just a question of style,
often though,
6:22
the error that happens is
that there is a mismatch.
6:26
One single quote and one double quote.
6:29
Now let's do that, one single quote,
and we'll trail it with a double quote.
6:32
Now a careful look at that closing
paren will show you the problem.
6:36
Notice how when it's correct it's black,
and
6:39
when it's not it's that teal color,
the same color as our string.
6:43
Now, that's because the string
hasn't been ended yet.
6:48
It's waiting for
us to finish with a single quote, and
6:51
it's totally fine to have a quote and
a paren in a string.
6:55
So there if I put that in,
that's valid right?
6:59
But since there is no
closing single quote,
7:03
they're part of the unclosed string.
7:05
So let's go ahead,
let's make our error happen.
7:08
I'm gonna save this.
7:10
And I am gonna type clear down here
because that will clear the console stuff
7:13
that's there and I will press up and
get python hello.py.
7:18
Here we go, we got a syntax error and
we have EOL which is end of line,
7:24
while scanning the screen literal.
7:29
And you can see that there is
an arrow here actually pointing
7:33
to where it expected
the ending of the string.
7:37
Now, this is where you want
to really inspect closely,
7:39
almost character by character.
7:43
I want you to hone your inner detective,
aha,
7:45
elementary dear Watson, mismatched quotes.
7:49
I hope you now feel
a little more prepared for
7:54
when you encounter those errors and
you will.
7:55
Don't let them get you down.
7:59
When you see those tracebacks,
try to remind yourself hey, look at me,
8:00
I'm learning.
8:04
And with that confidence,
let's get to writing some code.
8:05
That is right after you
take a quick break.
8:09
Taking breaks is super important for
your learning.
8:11
You'll thank me later.
8:13
A lot of information just
went into your brain.
8:14
Let it sink in.
8:17
Give a nice stretch, grab a snack,
pet your cat, water your plants,
8:18
refill your coffee or whatever it is that
you like to do when you're taking a break.
8:21
It doesn't have to be long.
8:25
Come back refreshed and
8:27
ready to name some things cuz that's
whats up next, creating variables.
8:28
You need to sign up for Treehouse in order to download course files.
Sign up