Error handling works beautifully.  Well maybe its kind of ugly.  But it definitely works