Writing code in Python is easier than most other programming languages. So much so, in fact, that it's easy to quickly knock-up something to solve a problem, especially if your code is ultimately "throw-away". As a language, Python's great at not getting in your way: you write your code, it runs, then you move onto something else. But, how easy is it to to write robust code in Python? What if your code has to hang around for a long time? What if you need to write code which not only runs but also has to handle problems should they occur? In this talk, Paul attempts to answer these questions by presenting some working code, which he then dissects to highlight some of the things that can go wrong, before describing how it's possible to handle and survive the identified problems (should they occur).