e.g.
def parseEntry(line):
try:
parsed = foo(line)
yield parsed
except SomethingBad:
yield None
Common lisp could really use some better coroutine support (and some way to specify generic sequences). Sure, you can do it with macros, but it gets horrible fast. Have you looked at SERIES, for example?