Add try-catch statements 94/240194/1
authorSangyoon Jang <jeremy.jang@samsung.com>
Tue, 4 Aug 2020 08:41:41 +0000 (17:41 +0900)
committerSangyoon Jang <jeremy.jang@samsung.com>
Tue, 4 Aug 2020 08:41:41 +0000 (17:41 +0900)
Change-Id: I516b60000d9bcd9f5b7ed53d1056f31e673fa36a
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
src/wgt_backend/wgt_backend.cc

index f0633b471d132a33739c69a734cd93469db334ba..c946153879319ee3595dae4982410444f679913a 100644 (file)
@@ -15,22 +15,27 @@ namespace ci = common_installer;
 int main(int argc, char** argv) {
   ci::PkgmgrInstaller pkgmgr_installer;
   wgt::WgtAppQueryInterface query_interface;
-  auto pkgmgr = ci::PkgMgrInterface::Create(argc, argv, &pkgmgr_installer,
-                                            &query_interface);
-  if (!pkgmgr) {
-    LOG(ERROR) << "Options of pkgmgr installer cannot be parsed";
-    return EINVAL;
-  }
+  try {
+    auto pkgmgr = ci::PkgMgrInterface::Create(argc, argv, &pkgmgr_installer,
+                                              &query_interface);
+    if (!pkgmgr) {
+      LOG(ERROR) << "Options of pkgmgr installer cannot be parsed";
+      return EINVAL;
+    }
 
-  // This is workaround for hybrid apps as they requires much different flow
-  // but installer does not branch at all in current design
-  if (query_interface.IsHybridApplication(
-      pkgmgr->GetRequestInfo(), pkgmgr->GetUid())) {
-    LOG(INFO) << "Hybrid package detected";
-    hybrid::HybridInstaller installer(pkgmgr);
-    return (installer.Run() == ci::AppInstaller::Result::OK) ? 0 : 1;
-  } else {
-    wgt::WgtInstaller installer(pkgmgr);
-    return (installer.Run() == ci::AppInstaller::Result::OK) ? 0 : 1;
+    // This is workaround for hybrid apps as they requires much different flow
+    // but installer does not branch at all in current design
+    if (query_interface.IsHybridApplication(
+        pkgmgr->GetRequestInfo(), pkgmgr->GetUid())) {
+      LOG(INFO) << "Hybrid package detected";
+      hybrid::HybridInstaller installer(pkgmgr);
+      return (installer.Run() == ci::AppInstaller::Result::OK) ? 0 : 1;
+    } else {
+      wgt::WgtInstaller installer(pkgmgr);
+      return (installer.Run() == ci::AppInstaller::Result::OK) ? 0 : 1;
+    }
+  } catch (...) {
+    LOG(ERROR) << "Exception occured";
+    return 1;
   }
 }