Hello..
I think that Delphi and FreePascal like ADA come with range checking
that catch conversion from negative signed to unsigned , and catch
out-of-bounds indices of dynamic and static arrays etc. and you
can also dynamically catch this exception of ERangeError.
But C++ and C don't have range checking, so that's not good in C++ and C
because it is not good for safety-critical systems.
You can carefully read the following, it is very important:
https://critical.eschertech.com/2010/07/07/run-time-checks-are-they-worth-it/
Thank you,
Amine Moulay Ramdane.