while (cmd->name != nullptr) {
/* Find command */
if (strcmp(argv[0], cmd->name) == 0) {
- ret = cmd->func(argc, (const char **) argv);
+ try {
+ ret = cmd->func(argc, (const char **) argv);
+ } catch (const std::exception& e) {
+ ERR_FMT("{}", e.what());
+ ret = CMD_ERROR;
+ }
+
goto end;
}
i++;
try {
return _main(argc, argv);
} catch (const std::exception& e) {
- ERR_FMT("Unhandled exception caught by client: %s", e.what());
+ ERR_FMT("Unhandled exception caught by client: {}", e.what());
abort();
}
}