Improve sequence handling
diff --git a/pyfontview.py b/pyfontview.py
index f128114..94305e6 100755
--- a/pyfontview.py
+++ b/pyfontview.py
@@ -48,22 +48,24 @@
 			return
 		if not isinstance(value, basestring):
 			# Sequences
+			is_sequence = True
 			try:
 				len(value)
 				iter(value)
 				# It's hard to differentiate list-type sequences
 				# from dict-type ones.  Try fetching item 0.
 				value[0]
+			except TypeError:
+				is_sequence = False
+			except AttributeError:
+				is_sequence = False
+			except KeyError:
+				is_sequence = False
+			except IndexError:
+				is_sequence = False
+			if is_sequence:
 				self.add_list(parent, key, value)
 				return
-			except TypeError:
-				pass
-			except AttributeError:
-				pass
-			except KeyError:
-				pass
-			except IndexError:
-				pass
 		if hasattr(value, '__dict__'):
 			self.add_object(parent, key, value)
 			return