1. Mistake is usually a choice that turns out to be wrong.
Mistakes are usually accidental. You know it’s wrong. In other words, mistakes are performance based, and can be self-corrected. Mistake is less formal than error, and is usually used in daily speech.
Errors are usually made due to the lack of knowledge. So, the action was wrong because it was different from the rules, model or specific code. Error is a more formal word than mistake.