Re: An old idea
Perhaps look at EPOC16, from the late 80s/early 90s, then EPOC32 (the precursors to Symbian OS) to see just how old...
TRAP() and TRAPD() - all sounds pretty familiar to this old git! and all within a std C/C++ compiler of its day - exceptions were not a thing back then.
No amount of safety handling can deal with the 'open a file' to do some work, opening the file fails but we still magically manage to do the work. Sure some langs can automatically handle the error state more elegantly than others but they cant automagically fix the underlying issue - the data set becoming unavailable... or maybe they can these days by simply sprinkling some AI ontop...