Skip to content

Commit

Permalink
Don't catch exceptions by value
Browse files Browse the repository at this point in the history
  • Loading branch information
edolstra committed Sep 22, 2019
1 parent 14d3f45 commit 893be6f
Show file tree
Hide file tree
Showing 5 changed files with 7 additions and 7 deletions.
4 changes: 2 additions & 2 deletions src/libexpr/json-to-value.cc
Expand Up @@ -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");
}
}
Expand Down
2 changes: 1 addition & 1 deletion src/libexpr/primops/fetchGit.cc
Expand Up @@ -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;
}
Expand Down
4 changes: 2 additions & 2 deletions src/libstore/local-store.cc
Expand Up @@ -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());
Expand Down
2 changes: 1 addition & 1 deletion src/nix-build/nix-build.cc
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion src/nix/edit.cc
Expand Up @@ -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);
}

Expand Down

0 comments on commit 893be6f

Please sign in to comment.