Error detection is just that - error detection only. Two common error detection methods are found at the Data Link layer of the OSI model, the FCS (Frame Check Sequence) and CRC (Cyclical Redundancy Check). A mathematical equation is run against the data in the frame, and the result is sent along with the data. The receiver runs the equation again, but this time. If the result is the same, the frame is considered valid; if the result is different, the frame is considered corrupt and is discarded.
Note that the FCS and CRC do nothing in regards to retransmission. They are strictly error detection schemes.
For an example of error recovery, we look to the Transport layer, where TCP runs. TCP performs reliable delivery, and the reason we call it "reliable" is that TCP uses sequence numbers to detect missing segments. If the sender determines from the sequence numbers that the remote host did not receive transmitted segments, the sender will retransmit the missing segments.



