tools: dhtnetmgr handle errors when saving identity

Change-Id: Iac3504f46050c2d533fa2837240f53b8c03068e8
diff --git a/tools/dhtnet_crtmgr/dhtnet_crtmgr.cpp b/tools/dhtnet_crtmgr/dhtnet_crtmgr.cpp
index 814dbe2..b50d9d9 100644
--- a/tools/dhtnet_crtmgr/dhtnet_crtmgr.cpp
+++ b/tools/dhtnet_crtmgr/dhtnet_crtmgr.cpp
@@ -49,7 +49,13 @@
         fmt::print(stderr, "Error: failed to create directory {}\n", path_id.string());
         return {};
     }
-    dht::crypto::saveIdentity(identity, path_id / name);
+    // catch error
+    try{
+        dht::crypto::saveIdentity(identity, path_id / name);
+    } catch (const std::exception& e) {
+        fmt::print(stderr, "Error: failed to save identity: {}\n", e.what());
+        return {};
+    }
     return identity;
 }
 } // namespace dhtnet