Hi, RPA best practice is to have one error block over the main body of the script and another around the item loop.
Ideally the robot should log steps into TXT or CSV file and should send emails when it encounters errors in the main loop (termination) or item related error (exception). I have one page called Exception and one called Termination to handle those and those pages are called from the respective exception blocks.
To throw a custom error I was using in WinAutomation custom logging using casting action of text into number and then parsing the error message. I have not tried if it would get into the log with the new version of PAD though.