Verifier uses exception type instead of conflict if unresolved.

Fixes OneMedical app installation issues.

Bug: 11335470
Change-Id: I10ef8c84ef5bf5587283413b8cea89202407fe2b
(cherry picked from commit c26a56cb596c3c8efd519c4014fc2ebb3e48b221)
diff --git a/runtime/verifier/method_verifier.cc b/runtime/verifier/method_verifier.cc
index 34ebeb1..09fa829 100644
--- a/runtime/verifier/method_verifier.cc
+++ b/runtime/verifier/method_verifier.cc
@@ -2863,11 +2863,14 @@
               // as that is caught at runtime
               common_super = &exception;
             } else if (!reg_types_.JavaLangThrowable(false).IsAssignableFrom(exception)) {
-              // We don't know enough about the type and the common path merge will result in
-              // Conflict. Fail here knowing the correct thing can be done at runtime.
-              Fail(exception.IsUnresolvedTypes() ? VERIFY_ERROR_NO_CLASS :
-                  VERIFY_ERROR_BAD_CLASS_SOFT) << "unexpected non-exception class " << exception;
-              return reg_types_.Conflict();
+              if (exception.IsUnresolvedTypes()) {
+                // We don't know enough about the type. Fail here and let runtime handle it.
+                Fail(VERIFY_ERROR_NO_CLASS) << "unresolved exception class " << exception;
+                return exception;
+              } else {
+                Fail(VERIFY_ERROR_BAD_CLASS_SOFT) << "unexpected non-exception class " << exception;
+                return reg_types_.Conflict();
+              }
             } else if (common_super->Equals(exception)) {
               // odd case, but nothing to do
             } else {