Has this already been discussed elsewhere?
This is a minor feature, which does not need previous discussion elsewhere
Links to previous discussion of this feature:
No response
Proposal:
I added a private _PyErr_WriteUnraisableMsg() API but it cannot be used in third party code, nor in stdlib extensions which try to avoid private/internal functions (like sqlite3). Moreover, _PyErr_WriteUnraisableMsg() API doesn't allow to fully customize the error message.
The limitation of _PyErr_WriteUnraisableMsg() affected PR #106674 which has to add ; consider using ... in the error message which is not great.
_PyErr_WriteUnraisableMsg(
"in PyMapping_HasKeyString(); consider using "
"PyMapping_GetOptionalItemString() or PyMapping_GetItemString()",
NULL);
@serhiy-storchaka suggested to add an API which allows string formatting, similar to PyErr_Format().
_PyErr_WriteUnraisableMsg() was added in issue #81010.
By the way, we should go through all calls to PyErr_WriteUnraisable() and add more context to more these logs easier to get for developers: give more context about what the issue is, how to fix it, where it occurred, etc.
Linked PRs
Has this already been discussed elsewhere?
This is a minor feature, which does not need previous discussion elsewhere
Links to previous discussion of this feature:
No response
Proposal:
I added a private
_PyErr_WriteUnraisableMsg()API but it cannot be used in third party code, nor in stdlib extensions which try to avoid private/internal functions (like sqlite3). Moreover,_PyErr_WriteUnraisableMsg()API doesn't allow to fully customize the error message.The limitation of
_PyErr_WriteUnraisableMsg()affected PR #106674 which has to add; consider using ...in the error message which is not great.@serhiy-storchaka suggested to add an API which allows string formatting, similar to
PyErr_Format()._PyErr_WriteUnraisableMsg()was added in issue #81010.By the way, we should go through all calls to PyErr_WriteUnraisable() and add more context to more these logs easier to get for developers: give more context about what the issue is, how to fix it, where it occurred, etc.
Linked PRs