It is not easy going. In the work I have done I have never made the assumption that hardware will either work or fail catastrophically. There can be a fault in hardware that will only appear when exercised. The 80386 fault only appears when certain numbers are multiplied together, otherwise the chip functions properly. By error correcting circuits I assume you are including error detecting circuits.
Error detecting methods include parity and checksums.
It is possible for error detecting methods to not detect an error. With parity if an even number of bits change value there will be no error detected. With ECC it is possible for an error to be corrected wrongly or not detected at all. It should be noted that proper implementation of ECC and prompt removal of faulty parts will minimize this risk. An error detection method to check arithmetic operations is to encode the operands in an arithmetic code.