It's become a bugbear of mine that almost all programming languages make error trapping and handling so 'voluminous' compared with happy path code. E.g. a typical try...catch block has several lines of code just to set up the try...catch - which is a pain when the statement you're catching is a single line.
And then jumping from the exception code back to the original to try again is not simple.
This Stack Overflow answer illustrates the problem as the chosen answer has 8 lines of scaffold code doing the exception handling and only one line calling the function.
Not sure what the answer is but thoughts welcome.