aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2019-09-22 21:29:33 +0200
committerEelco Dolstra <edolstra@gmail.com>2019-09-22 21:29:33 +0200
commit893be6f5e36abb58bbaa9c49055a5218114dd514 (patch)
tree262874d6394681163e6f189f02e721f8c346ef4c /src
parent14d3f450098e0f4a9b8d538545f1d1bd1decdab3 (diff)
Don't catch exceptions by value
Diffstat (limited to 'src')
-rw-r--r--src/libexpr/json-to-value.cc4
-rw-r--r--src/libexpr/primops/fetchGit.cc2
-rw-r--r--src/libstore/local-store.cc4
-rwxr-xr-xsrc/nix-build/nix-build.cc2
-rw-r--r--src/nix/edit.cc2
5 files changed, 7 insertions, 7 deletions
diff --git a/src/libexpr/json-to-value.cc b/src/libexpr/json-to-value.cc
index 3f6017957..8bae986f9 100644
--- a/src/libexpr/json-to-value.cc
+++ b/src/libexpr/json-to-value.cc
@@ -111,9 +111,9 @@ static void parseJSON(EvalState & state, const char * & s, Value & v)
mkFloat(v, stod(tmp_number));
else
mkInt(v, stol(tmp_number));
- } catch (std::invalid_argument e) {
+ } catch (std::invalid_argument & e) {
throw JSONParseError("invalid JSON number");
- } catch (std::out_of_range e) {
+ } catch (std::out_of_range & e) {
throw JSONParseError("out-of-range JSON number");
}
}
diff --git a/src/libexpr/primops/fetchGit.cc b/src/libexpr/primops/fetchGit.cc
index 1b55b6f32..64f138195 100644
--- a/src/libexpr/primops/fetchGit.cc
+++ b/src/libexpr/primops/fetchGit.cc
@@ -37,7 +37,7 @@ GitInfo exportGit(ref<Store> store, std::string uri,
try {
runProgram("git", true, { "-C", uri, "diff-index", "--quiet", "HEAD", "--" });
- } catch (ExecError e) {
+ } catch (ExecError & e) {
if (!WIFEXITED(e.status) || WEXITSTATUS(e.status) != 1) throw;
clean = false;
}
diff --git a/src/libstore/local-store.cc b/src/libstore/local-store.cc
index 1062df781..307c00dbb 100644
--- a/src/libstore/local-store.cc
+++ b/src/libstore/local-store.cc
@@ -872,8 +872,8 @@ void LocalStore::querySubstitutablePathInfos(const PathSet & paths,
info->references,
narInfo ? narInfo->fileSize : 0,
info->narSize};
- } catch (InvalidPath) {
- } catch (SubstituterDisabled) {
+ } catch (InvalidPath &) {
+ } catch (SubstituterDisabled &) {
} catch (Error & e) {
if (settings.tryFallback)
printError(e.what());
diff --git a/src/nix-build/nix-build.cc b/src/nix-build/nix-build.cc
index d4749f8fd..605802f72 100755
--- a/src/nix-build/nix-build.cc
+++ b/src/nix-build/nix-build.cc
@@ -280,7 +280,7 @@ static void _main(int argc, char * * argv)
auto absolute = i;
try {
absolute = canonPath(absPath(i), true);
- } catch (Error e) {};
+ } catch (Error & e) {};
if (store->isStorePath(absolute) && std::regex_match(absolute, std::regex(".*\\.drv(!.*)?")))
drvs.push_back(DrvInfo(*state, store, absolute));
else
diff --git a/src/nix/edit.cc b/src/nix/edit.cc
index c62b35c46..632a99d11 100644
--- a/src/nix/edit.cc
+++ b/src/nix/edit.cc
@@ -50,7 +50,7 @@ struct CmdEdit : InstallableCommand
int lineno;
try {
lineno = std::stoi(std::string(pos, colon + 1));
- } catch (std::invalid_argument e) {
+ } catch (std::invalid_argument & e) {
throw Error("cannot parse line number '%s'", pos);
}