about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2019-09-22T19·29+0200
committerEelco Dolstra <edolstra@gmail.com>2019-10-09T14·24+0200
commitf3ce4453a61fff960551322c1743f979f8c07e68 (patch)
tree9d7c2df424b398e90e39e6be5e425d44b6850899 /src
parent9f53bc33e7f1d39ec9bce4b5fd9c50763e1d73c3 (diff)
Don't catch exceptions by value
(cherry picked from commit 893be6f5e36abb58bbaa9c49055a5218114dd514)
(cherry picked from commit bd79c1f6f6391786772a8a79962abe22f374cca4)
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 3f6017957782..8bae986f97fc 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 6229fef8d02e..90f600284b22 100644
--- a/src/libexpr/primops/fetchGit.cc
+++ b/src/libexpr/primops/fetchGit.cc
@@ -38,7 +38,7 @@ GitInfo exportGit(ref<Store> store, const 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 2fcf08491c2f..a2af51d0ed55 100644
--- a/src/libstore/local-store.cc
+++ b/src/libstore/local-store.cc
@@ -879,8 +879,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 c6a4d416648f..33ad28704a61 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 c9671f76d0fa..a6169f1183cd 100644
--- a/src/nix/edit.cc
+++ b/src/nix/edit.cc
@@ -55,7 +55,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);
         }