Don't you have the returncode from InternalParse() instead?  It seems relying on Error() to be present is less reliable?