throwExceptionSelfCheck throw Error

`SysError` is not appropriate because there is no (Unix) syscall involved.

The catch block in `initLibUtil` is already for `Error` and still works.
This commit is contained in:
John Ericson 2024-03-29 15:30:43 -04:00
parent b72e1c79da
commit 555181c3fd

View file

@ -16,9 +16,10 @@ void BaseError::addTrace(std::shared_ptr<Pos> && e, HintFmt hint, TracePrint pri
err.traces.push_front(Trace { .pos = std::move(e), .hint = hint, .print = print }); err.traces.push_front(Trace { .pos = std::move(e), .hint = hint, .print = print });
} }
void throwExceptionSelfCheck(){ void throwExceptionSelfCheck()
{
// This is meant to be caught in initLibUtil() // This is meant to be caught in initLibUtil()
throw SysError("C++ exception handling is broken. This would appear to be a problem with the way Nix was compiled and/or linked and/or loaded."); throw Error("C++ exception handling is broken. This would appear to be a problem with the way Nix was compiled and/or linked and/or loaded.");
} }
// c++ std::exception descendants must have a 'const char* what()' function. // c++ std::exception descendants must have a 'const char* what()' function.