Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Separate SystemError from SysError #9737

Merged
merged 1 commit into from
Jan 12, 2024

Commits on Jan 12, 2024

  1. Separate SystemError from SysError

    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>
    Ericson2314 committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    6208ca7 View commit details
    Browse the repository at this point in the history