Cosmic rays are no excuse not to throw an exception on integer overflow.
Detecting overflows and throwing nice exceptions instead of continuing execution with garbage values isn't the same thing as ensuring correctness.
Java does array bounds checking in principle, but it is usually optimized out of the machine code. Isn't it then virtually just as susceptible to hardware error as C? And the JVM is written in C anyway.
https://www.cs.princeton.edu/~appel/papers/memerr.pdf [2003]
Which one?
https://en.wikipedia.org/wiki/List_of_Java_virtual_machines
Depending which one we are speaking about, they are implemented in Assembly, C, C++ or even Java.