runs into an exception leading to an ad_script_abort, the half-in initialized object without cleanup definition will survive. At later times, this object might be reused, containing potentially cached results from earlier runs, which can cause troubles in error cases.
This change takes care that errors during argument processing will not leave half-initialized objects behind.