mirror of
https://github.com/NixOS/nix.git
synced 2025-11-09 03:56:01 +01:00
Merge pull request #13677 from NixOS/mergify/bp/2.28-maintenance/pr-13248
libmain: Catch logger exceptions in `handleExceptions` (backport #13248)
This commit is contained in:
commit
49062664ed
1 changed files with 27 additions and 22 deletions
|
|
@ -336,6 +336,7 @@ int handleExceptions(const std::string & programName, std::function<void()> fun)
|
||||||
ErrorInfo::programName = baseNameOf(programName);
|
ErrorInfo::programName = baseNameOf(programName);
|
||||||
|
|
||||||
std::string error = ANSI_RED "error:" ANSI_NORMAL " ";
|
std::string error = ANSI_RED "error:" ANSI_NORMAL " ";
|
||||||
|
try {
|
||||||
try {
|
try {
|
||||||
try {
|
try {
|
||||||
fun();
|
fun();
|
||||||
|
|
@ -363,6 +364,10 @@ int handleExceptions(const std::string & programName, std::function<void()> fun)
|
||||||
printError(error + e.what());
|
printError(error + e.what());
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
} catch (...) {
|
||||||
|
/* In case logger also throws just give up. */
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue