The immediate problem is that the parsing order doesn't work the way you think it does. The command:
find /.../resource/ ! -path "*/tmp/*" -regextype posix-awk -iregex "(.*.toConv)" -exec /.../convert || true {} \;
Gets parsed by the shell into two commands (separated by ||):
find /.../resource/ ! -path "*/tmp/*" -regextype posix-awk -iregex "(.*.toConv)" -exec /.../convert
true {} \;
...and since the \; is part of a separate command, find never sees it, and complains that you didn't give it a complete -exec sequence. You could quote/escape the || so it gets passed to find as part of the -exec sequence, but that wouldn't do what you want either, because -exec just runs a single command, and passes what it's given as arguments to that command, so the convert script would get || and true as arguments...
In order to do what you're trying to do, you'd actually have to have -exec run another shell, and have that subshell run the convert script and true. This can be done, although it's a little messy, but it won't solve the actual problem either, because the actual problem isn't what you think it is.
As @BroSlow said, find ... -exec does not stop just because the command returned an error status (or output something to stderr). Something else is making find stop, so overriding the exit status is not going to fix the problem. You need to figure out the actual problemis, and attack that.
throws erroror provide the script? Execution offindshouldn't stop onstderror even if the script returns an error exit code (-execwill just become false, which will prevent expressions after the-execfrom executing, and causefindto move on to the next file. But since there are no expressions after the-execin your command, this shouldn't matter)