I am ready to run this code but before I want to fix the exception handling:
for l in bios:
OpenThisLink = url + l
try:
response = urllib2.urlope
you are getting that error because when the exception is thrown the response variable doesn't exist. If you want to leave the code how you have it you will need to check that response exists before calling read
if response:
bio = response.read()
...
having said that I agree with Mark that continue
is a better suggestion than pass
Try is actually way more powerful than that. You can use the else block here too:
try:
stuff
except Exception:
print "oh no a exception"
else:
print "oh yay no exception"
finally:
print "leaving the try block"
Use continue
instead of break
.
The statement pass
is a no-op (meaning that it doesn't do anything). The program just continues to the next statement, which is why you get an error.
break
exits the loops and continues running from the next statement immediately after the loop. In this case, there are no more statements, which is why your program terminates.
continue
restarts the loop but with the next item. This is exactly what you want.