For an ECC code, self-correction is guaranteed to succeed with less than \(d_{min}/2\)  number of errors. However, error detection is guaranteed to succeed with less than \(d_{min}-1\)  number of errors. In other words, when ECC fails, error detection still has a high probability of detecting that an error occurs (although the error can't be self-corrected). Then the receiver can request a re-sending from the sender for double-checking. An ECC that encodes \(k\) -bit strings into \(n\) -bit strings can detect at most \(n-k-1\)  errors, and the probability of getting an undetectable error scales as \(2^{-(n-k)}\)  in the best case [1]}.
