diff --git a/ReactCommon/cxxreact/JSCExecutor.cpp b/ReactCommon/cxxreact/JSCExecutor.cpp index 6e57f5a4280..6383d26fb7a 100644 --- a/ReactCommon/cxxreact/JSCExecutor.cpp +++ b/ReactCommon/cxxreact/JSCExecutor.cpp @@ -382,24 +382,26 @@ void JSCExecutor::loadApplicationScript( JSCompiledSourceError jsError; auto bcSourceCode = JSCreateCompiledSourceCode(fd, jsSourceURL, &jsError); - if (jsError == JSCompiledSourceErrorOnRead || - jsError == JSCompiledSourceErrorNotCompiled) { + switch (jsError) { + case JSCompiledSourceErrorOnRead: + case JSCompiledSourceErrorNotCompiled: // Not bytecode, fall through. return JSExecutor::loadApplicationScript(fd, sourceURL); - } else if (jsError == JSCompiledSourceErrorVersionMismatch) { + + case JSCompiledSourceErrorVersionMismatch: throw std::runtime_error("Compiled Source Version Mismatch"); + + case JSCompiledSourceErrorNone: + folly::throwOnFail( + bcSourceCode != nullptr, + "Unexpected error opening compiled bundle" + ); + break; + + default: + throw std::runtime_error("Unhandled Compiled Source Error"); } - folly::throwOnFail( - jsError == JSCompiledSourceErrorNone, - "Unhandled Compiled Source Error" - ); - - folly::throwOnFail( - bcSourceCode != nullptr, - "Unexpected error opening compiled bundle" - ); - ReactMarker::logMarker("RUN_JS_BUNDLE_START"); evaluateSourceCode(m_context, bcSourceCode, jsSourceURL);