Operatively ?
Try to separate the categories of errors:
with lists, the most common error is the "out of bound"
with numbers, check for division by zero or unallowed operations
with text, take care about uppercase vs lowercase, unprintable characters, lenghts of strings
with communication, be careful about timings and data type (i.e. text vs bytes), strings terminators,
with databases, out of bound, nested records,
An exercise that your students can do, is to prepare such list of common errors for example in an excel file (for ease of searching), enrich the list as soon as they discover a new error, and share among them, and other classrooms, this "dictionary" of errors.
As I said at the beginning: I'm not a teacher, and therefore today's students hate all of this. Anyway when i was the responsible of a developing team, we've got a lot of benefices form this approach.
Best wishes !!!