Python for Absolute Beginners Transcripts
Chapter: Error handling
Lecture: Stepping through errors in the debugger
0:00 I want to do one more thing to just make sure
0:01 that you're really getting in the feel for how
0:03 the control flow works when we hit these errors.
0:07 I'm going to set a breakpoint, right up here.
0:09 And I'm going to hit the debug button.
0:11 And I'm going to come in here, and we're going to step
0:12 either over or into our code.
0:15 So let's step over this, over this, we don't care
0:18 about the log stuff, we don't care about the header stuff.
0:21 And let's go into this load_rolls here, and first
0:23 I'm going to really quickly break this.
0:26 Let's see what's going to happen.
0:28 Let's hit this first, step into our code.
0:31 And this is fine, this is fine, this is fine.
0:34 We've opened it you can see, opened up to that file.
0:37 A little more info. But this, if we even step
0:40 into this, and go deep down into, into Python itself
0:44 and as we try to work through these steps
0:47 what's going to happen, this is going to hit
0:51 this line and go
0:52 broken! And now it stops, what is this?
0:54 No, nothing. Keep going.
0:56 And it's going to start going down through here.
0:58 And now this one is going to actually match this
1:00 and go in here so, it's not going to be so unexpected.
1:03 But it says we have this error, which we named je
1:06 no not surprising and off it goes.
1:09 And then it just exits and so it
1:10 picked one of those blocks and it went.
1:12 Put this back.
1:15 And let's debug it again.
1:17 This time, let's go through, over step over.
1:20 I'm not going to go until we start playing the game a little.
1:23 We'll go down and do that.
1:25 It wants my name I guess.
1:30 And I'm going to go in, and-whoops console.
1:35 I want to throw seven, now actually
1:37 I wanted to stop down here.
1:39 So I didn't step and do it correctly so
1:41 I have to set the breakpoint down here.
1:43 Which is fine, and get roll, and now my roll is
1:45 now let's say seven correctly.
1:48 So, I'm going to step over, and it's
1:50 going to print out the rolls.
1:51 Let's not do the breakpoint there, and right down to here.
1:54 It asks what our roll is, and it's going to be seven.
1:58 And now we're back here, and it got the word seven numeral.
2:02 It's gong to convert that successfully
2:03 I'm going to say it's fine and just going to return
2:05 it's not going to go into the errors
2:07 but it's good, comes down and it just keeps playing.
2:09 And off it goes.
2:10 I don't know if I won, but I'm going to find out
2:12 let's go down a little bit farther to see if I won.
2:14 I, think I won? Yes I took the round.
2:16 Alright let's go farther.
2:18 And now let me type in some junk, something broken.
2:23 So, broken. This is broken. It's fine.
2:27 It says it's not nothing, so everything's good.
2:29 But we're going to try this, and
2:30 it's going to first say, I'm going to start going up
2:33 till I find the first except, the first try-except block.
2:35 It just happens to be right here
2:37 it could be that main one as well.
2:39 So we're going to come over here and step.
2:41 Not going to work, so it goes straight here.
2:43 Handles the error, returns it up here
2:45 and it doesn't go all the way the main
2:47 but it says alright we dealt with it and
2:49 what we decided to do is return none for roll one
2:52 when something invalid was done.
2:54 So that way, we can trigger this bit of code
2:56 to just make us do it again.
2:58 So as you're exploring this error handling
2:59 be sure to use the debugger and step over and into
3:02 and out of your code to explore the flow of the errors
3:06 as you go through the program.