aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDan Engelbrecht <[email protected]>2024-01-31 14:23:12 +0100
committerGitHub <[email protected]>2024-01-31 14:23:12 +0100
commit5cf15227e1cb41ba870786b833d27abbe5f9d966 (patch)
tree2369245d3aaa756c2fd76f7a3af5a3a377fa6381 /src
parentimprove oplog export logging (#644) (diff)
downloadzen-5cf15227e1cb41ba870786b833d27abbe5f9d966.tar.xz
zen-5cf15227e1cb41ba870786b833d27abbe5f9d966.zip
Actually thow exception if we can't parse the jobid when starting async job (#645)
Return system error code on exception throw in zen command Clean up HttpClient::Response::ErrorMessage to remove redundant ": "
Diffstat (limited to 'src')
-rw-r--r--src/zen/cmds/projectstore_cmd.cpp2
-rw-r--r--src/zen/zen.cpp8
-rw-r--r--src/zenhttp/httpclient.cpp9
3 files changed, 15 insertions, 4 deletions
diff --git a/src/zen/cmds/projectstore_cmd.cpp b/src/zen/cmds/projectstore_cmd.cpp
index 510e700d3..0fe7b14eb 100644
--- a/src/zen/cmds/projectstore_cmd.cpp
+++ b/src/zen/cmds/projectstore_cmd.cpp
@@ -67,7 +67,7 @@ namespace {
std::optional<uint64_t> JobIdMaybe = ParseInt<uint64_t>(JobIdText);
if (!JobIdMaybe)
{
- Result.ThrowError("invalid job id"sv);
+ throw std::runtime_error(fmt::format("invalid job id returned, received '{}'", JobIdText));
}
std::string LastCurrentOp;
diff --git a/src/zen/zen.cpp b/src/zen/zen.cpp
index 10d2f5593..39f3f1f78 100644
--- a/src/zen/zen.cpp
+++ b/src/zen/zen.cpp
@@ -534,11 +534,17 @@ main(int argc, char** argv)
return 9;
}
+ catch (std::system_error& Ex)
+ {
+ printf("System Error: %s\n", Ex.what());
+
+ return Ex.code() ? Ex.code().value() : 10;
+ }
catch (std::exception& Ex)
{
printf("Error: %s\n", Ex.what());
- return 10;
+ return 11;
}
return 0;
diff --git a/src/zenhttp/httpclient.cpp b/src/zenhttp/httpclient.cpp
index cc8a3f033..9811e5814 100644
--- a/src/zenhttp/httpclient.cpp
+++ b/src/zenhttp/httpclient.cpp
@@ -1089,11 +1089,16 @@ HttpClient::Response::ErrorMessage(std::string_view Prefix) const
}
else if (StatusCode != HttpResponseCode::ImATeapot && (int)StatusCode)
{
- return fmt::format("{}: HTTP error {} {} ({})", Prefix, (int)StatusCode, zen::ToString(StatusCode), ToText());
+ return fmt::format("{}{}HTTP error {} {} ({})",
+ Prefix,
+ Prefix.empty() ? ""sv : ": "sv,
+ (int)StatusCode,
+ zen::ToString(StatusCode),
+ ToText());
}
else
{
- return fmt::format("{}: {}", Prefix, "unknown error");
+ return fmt::format("{}{}unknown error", Prefix, Prefix.empty() ? ""sv : ": "sv);
}
}