 Here's a program much like the ones we've written before. It asks you for your age and years, and then tells you about how many days old that is. In our get age function, we have a loop that makes sure that you have an age that is greater than or equal to zero. Let's run this program and see that that works. If I say negative two, it tells me age cannot be negative. If I put in twenty, it gives me the answer. However, this program will die the great death if I enter a float, like 3.5, or if I enter something that's not an integer at all, like F-I-V-E. Python provides a way to catch these errors, which are called exceptions. Python does this by using keywords try and accept. The way it works, we put the keyword try before the code in question, the code that might get an error at runtime, and let's indent it. And then, if at any time a runtime error occurs during this block of code, Python will immediately jump to the accept block instead of crashing the program and do whatever is in the accept block. In this case, we'll print the message, please enter an integer that isn't negative. Now that we have done the try to catch runtime errors and an accept to handle them, when we run the program, if I type 3.5, it'll ask me to enter an integer that isn't negative. If I type a word, it gives the same message. I'm still handling negative numbers properly, and I'm still handling positive numbers properly. Try and accept, let you handle conditions that would ordinarily crash your program. They're especially useful when dealing with files.