Skip to content

SQLite3 desctrutor is declared as noexcept(true), but it can throw an exception #1686

@ppisar

Description

@ppisar

A static analyzer https://svashisht.fedorapeople.org/openscanhub/mass-scans/f42-13-Nov-2024/libdnf-0.73.3-1.fc42/scan-results.html#def18 found that ~SQLite3() destructor is implicitly declared as noexcept(true), but it calls SQLite3::close() which is implicitly noexcept(false) and it indeed throws Error objects.

Changing exception disposition breaks ABI, if I'm not mistaken.

Do we want to preserve ABI and hide the exceptions, or do want to allow the exceptions and change ABI?

Metadata

Metadata

Assignees

No one assigned

    Labels

    TriagedSomeone on the DNF 5 team has read the issue and determined the next steps to take

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions