Skip to content

Handling errors in ctypes callbacks #129502

@serhiy-storchaka

Description

@serhiy-storchaka

If an error happens in the callback or in converting result of the callback, it is handled by calling PyErr_FormatUnraisable(). If an error happens in preparing arguments for the callback, it is handled in different way -- some message is printed to stderr and then PyErr_Print() is called. In one case the error is not properly handled.

It is better to handle all errors in the uniform way. PyErr_Print() is not suitable for it because it treats SystemExit specially and has a side effect of setting sys.last_exc` and other variables.

Linked PRs

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions