Hm, I'm not a fan of catching exceptions like that. If p might not exist in oldrevdeplst, you can do this:

for p in removelst:
  if p not in oldrevdeplst: continue

although, the above is wrong from the algorithmic point of view: what we want is finding packages that were already a _stub in the previous catalog so maybe this should be used:

for p in removelst:
  if p in oldrevdeplst:
    reallyremovelist.append(p)
    logger.info(...)
  else:
    logger.info("KEEP (...) the _stub does not exist in <old catalog>")