mirror of
https://github.com/NixOS/nix.git
synced 2025-11-09 12:06:01 +01:00
Most of this is a `catch SysError` -> `catch SystemError` sed. This is a rather pure-churn change I would like to get out of the way. **The intersting part is `src/libutil/error.hh`.** On Unix, we will only throw the `SysError` concrete class, which has the same constructors that `SystemError` used to have. On Windows, we will throw `WinError` *and* `SysError`. `WinError` (which will be created in a later PR), will use a `DWORD` instead of `int` error value, and `GetLastError()`, which is the Windows equivalent of the `errno` machinery. Windows will *also* use `SysError` because Window's "libc" (MSVCRT) implements the POSIX interface, and we use it too. As the docs describe, while we *throw* one of the 3 choices above (2 concrete classes or the alias), we should always *catch* `SystemError`. This ensures no matter how the implementation changes for Windows (e.g. between `SysError` and `WinError`) the catching logic stays the same and stays correct. Co-Authored-By volth <volth@volth.com> Co-Authored-By Eugene Butler <eugene@eugene4.com> |
||
|---|---|---|
| .. | ||
| data/git | ||
| args.cc | ||
| canon-path.cc | ||
| chunked-vector.cc | ||
| closure.cc | ||
| compression.cc | ||
| config.cc | ||
| git.cc | ||
| hash.cc | ||
| hilite.cc | ||
| json-utils.cc | ||
| local.mk | ||
| logging.cc | ||
| lru-cache.cc | ||
| pool.cc | ||
| references.cc | ||
| suggestions.cc | ||
| tests.cc | ||
| url.cc | ||
| xml-writer.cc | ||