diff --git a/mercurial/bundle2.py b/mercurial/bundle2.py
index 0f7e01e0c06f19b9b26c1b571a4b6de6b15d7cbd_bWVyY3VyaWFsL2J1bmRsZTIucHk=..27ab4b8d250352987f68c7060c8dde5df81ec635_bWVyY3VyaWFsL2J1bmRsZTIucHk= 100644
--- a/mercurial/bundle2.py
+++ b/mercurial/bundle2.py
@@ -305,6 +305,11 @@
                 # todo:
                 # - consume the part once we use streaming
                 continue
+
+            # handler is called outside the above try block so that we don't
+            # risk catching KeyErrors from anything other than the
+            # parthandlermapping lookup (any KeyError raised by handler()
+            # itself represents a defect of a different variety).
             handler(op, part)
     except Exception:
         for part in iterparts: