Quote (rockonkenshin @ May 26 2012 06:10pm)
A good rule of thumb (and a slightly self-evident thing that many people tend to forget) when dealing with exceptions in any language is to remember that they should be used only for exceptional conditions. People tend to try to use them for flow control and it usually makes for really bad code.
Indeed I just threw this together in a second and I'm currently working on a codebase with exceptions literally everywhere and it apparently seeped through

Now that I'm reading this again raising an exception if size < 4 or size > 9 is especially stupid.
Code
while True:
size = raw_input('Please insert a value between 4 and 9: \n')
if size.isdigit() == True and 9 > int(size) > 4:
break