I tried it at the end of my code where it is commented, without comments, that part would be:
: if ($newip != $oldip) do={
:set newip [:resolve $comment]
/ip firewall address-list set $i address=$newip
} on-error={};
Like this but all that in it’s parent loop, should that work ?
I have another topic on this: http://forum.mikrotik.com/t/error-expected-end-of-command-when-trying-on-error/173368/1