Cronjobs have one task - note time and inform! Fail they will if there is an external factor. Mostly crons are the most rigidly written piece of code after lots of refactoring and testing. They rarely fail, and if they do, it's mostly due to external reasons.
It best suits you to make a custom wrapper suited to your needs to get notifications or record success and failures of the system to keep track of how to improve your success rates of the jobs.
I usually log everything into redis for short term and then use a script to log all the failures into a mongodb collection for later reviewing at the end of the day. Mostly, I see a good lonely 0 count most days. The days I get errors, i anyhow know since the the people who needed to be 'informed' do inform me before hand that they were not informed.
My 2 paise.