Continue dumping other sections after an error in one section
diff --git a/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/raw/util/DexAnnotator.java b/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/raw/util/DexAnnotator.java
index 96ebe5c..3b3195d 100644
--- a/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/raw/util/DexAnnotator.java
+++ b/dexlib2/src/main/java/org/jf/dexlib2/dexbacked/raw/util/DexAnnotator.java
@@ -171,8 +171,14 @@
 
         try {
             for (MapItem mapItem: mapItems) {
-                SectionAnnotator annotator = annotators.get(mapItem.getType());
-                annotator.annotateSection(this);
+                try {
+                    SectionAnnotator annotator = annotators.get(mapItem.getType());
+                    annotator.annotateSection(this);
+                } catch (Exception ex) {
+                    System.err.println(String.format("There was an error while dumping the %s section",
+                            ItemType.getItemTypeName(mapItem.getType())));
+                    ex.printStackTrace(System.err);
+                }
             }
         } finally {
             writeAnnotations(out, dexFile.getBuffer().getBuf(), dexFile.getBuffer().getBaseOffset());